Closed
Description
Hey,
VSCode dev here. This milestone I am looking into simplifing generated launch.json
for various extensions microsoft/vscode#62851
The launch.json
that Powershell generates is attached at the end. This is a bit too complex for the avarage user and I suggest to simplify it the following way:
- You are already using a
DebugConifugarionProvider
for resolving configuration. I suggest to aslo use it for providing debug conifiguration as it should make the following step possible -
DebugConfigurationProvider
should use thequickPick
to ask the user if he would like to launch or to attach. If he chooses launch I would ask a follow up question if he would like to launch a current file, Current File in Temporary Console, Current File w/Args Prompt or just an interactive powershell session. - Remove default fields which are not necessery like
args
,runspaceId
- You are already contributing
configuraitonSnippets
which is great. However these snippets also need to be simplified. I suggest to remove all attributes that have the default value. Example:stopAtEntry
,cwd
,args
If you agree with the suggestions I am making here I am also here to help with any potential questions you might have. The changes should not require a lot of work but will simplify the flow a lot imho. It should be much less complex and not too much like a wizard experience
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Launch Current File",
"script": "${file}",
"args": [],
"cwd": "${file}"
},
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Launch Current File in Temporary Console",
"script": "${file}",
"args": [],
"cwd": "${file}",
"createTemporaryIntegratedConsole": true
},
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Launch Current File w/Args Prompt",
"script": "${file}",
"args": [
"${command:SpecifyScriptArgs}"
],
"cwd": "${file}"
},
{
"type": "PowerShell",
"request": "attach",
"name": "PowerShell Attach to Host Process",
"processId": "${command:PickPSHostProcess}",
"runspaceId": 1
},
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Interactive Session",
"cwd": ""
}
]
}