microsoft / vscode-debugadapter-node

Debug adapter protocol and implementation for VS Code.
Other
270 stars 88 forks source link

testsupport: allow passing additional arguments when launching the debug adapter process #285

Open justarandomgeek opened 1 year ago

justarandomgeek commented 1 year ago

My debug adapter is part of a multi-function tool, so it needs additional command line arguments to start in DAP mode, but testsupport's DebugClient doesn't appear to have anywhere to pass these additional arguments.

roblourens commented 1 year ago

Isn't this what spawnOptions is? If not can you be more specific?

justarandomgeek commented 1 year ago

no, spawnOptions is for all the other properties to pass to spawn, but ther's no argv in it, which is what i need to extend.

For now i've done the hideous hack of passing an array of extra args through an env var: https://github.com/justarandomgeek/vscode-factoriomod-debug/blob/next/test/debug.ts#L15 https://github.com/justarandomgeek/vscode-factoriomod-debug/blob/next/src/cli/main.ts#L22

justarandomgeek commented 1 year ago

https://github.com/microsoft/vscode-debugadapter-node/blob/main/testSupport/src/debugClient.ts#L97 builds the argv array from only debugAdapterExecutable, leaving no opportunity to extend it

roblourens commented 1 year ago

Oh, got it. Makes perfect sense, I'd take a PR that adds this. Would have to be another optional argument to the end of the list of constructor args.

justarandomgeek commented 1 year ago

I'm sorry, are you asking me to fix this? I have enough work to do on my debugger already without having to fix the tools i'm trying to use to build it...

roblourens commented 1 year ago

I'll fix it if I don't get a PR. It would just be faster if someone sent a PR.

justarandomgeek commented 1 year ago

any chance of this get fixed any time soon? Would be nice to get rid of my weird hacks around it...