Skip to content

Commit ffdd11d

Browse files
authored
Refactor launch.json for extension debugging
Updated launch configuration for the extension to support new debugging scenarios and improved workspace selection.
1 parent 2804261 commit ffdd11d

File tree

1 file changed

+141
-24
lines changed

1 file changed

+141
-24
lines changed

Extension/.vscode/launch.json

Lines changed: 141 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,143 @@
1+
// A launch configuration that compiles the extension and then opens it inside a new window
12
{
2-
"version": "0.2.0",
3-
"configurations": [
4-
{
5-
"name": "Debug",
6-
"type": "cppdbg",
7-
"request": "launch",
8-
"program": "${workspaceFolder}/a.out",
9-
"args": [],
10-
"stopAtEntry": false,
11-
"cwd": "${workspaceFolder}",
12-
"environment": [],
13-
"externalConsole": false,
14-
"MIMode": "lldb"
15-
},
16-
{
17-
"name": "Attach to a.out",
18-
"type": "cppdbg",
19-
"request": "attach",
20-
"program": "${workspaceFolder}/Code Samples/Fib/a.out",
21-
"processId": "${command:pickProcess}",
22-
"MIMode": "lldb",
23-
"stopAtEntry": false
24-
}
25-
]
3+
"version": "0.1.0",
4+
"configurations": [
5+
{
6+
// debugs the extension
7+
"name": "Run Extension",
8+
"type": "extensionHost",
9+
"request": "launch",
10+
"args": [
11+
"--no-sandbox",
12+
"--disable-updates",
13+
"--skip-welcome",
14+
"--skip-release-notes",
15+
"--disable-workspace-trust",
16+
"--extensionDevelopmentPath=${workspaceFolder}",
17+
],
18+
"sourceMaps": true,
19+
"outFiles": [
20+
"${workspaceFolder}/dist/**"
21+
],
22+
// you can use a watch task as a prelaunch task and it works like you'd want it to.
23+
"preLaunchTask": "watch"
24+
},
25+
{
26+
// debugs the extension (selecting the workspace)
27+
"name": "Run Extension-Select Workspace",
28+
"type": "extensionHost",
29+
"request": "launch",
30+
"args": [
31+
"--no-sandbox",
32+
"--disable-updates",
33+
"--skip-welcome",
34+
"--skip-release-notes",
35+
"--disable-workspace-trust",
36+
"--extensionDevelopmentPath=${workspaceFolder}",
37+
"${input:pickWorkspace}"
38+
],
39+
"sourceMaps": true,
40+
"outFiles": [
41+
"${workspaceFolder}/dist/**"
42+
],
43+
// you can use a watch task as a prelaunch task and it works like you'd want it to.
44+
"preLaunchTask": "watch"
45+
},
46+
{
47+
// debug scenario tests (selecting the workspace)
48+
"name": "VSCode Tests",
49+
"type": "extensionHost",
50+
"request": "launch",
51+
"runtimeExecutable": "${execPath}",
52+
"env": {
53+
"SCENARIO": "${input:pickScenario}"
54+
},
55+
"args": [
56+
"--no-sandbox",
57+
"--disable-updates",
58+
"--skip-welcome",
59+
"--skip-release-notes",
60+
"--disable-extensions",
61+
"--extensionDevelopmentPath=${workspaceFolder}",
62+
"--extensionTestsPath=${workspaceFolder}/dist/test/common/selectTests",
63+
"--scenario=${input:pickScenario}",
64+
"${input:pickScenario}"
65+
],
66+
"sourceMaps": true,
67+
"outFiles": [
68+
"${workspaceFolder}/dist/**"
69+
],
70+
// you can use a watch task as a prelaunch task and it works like you'd want it to.
71+
"preLaunchTask": "watch"
72+
},
73+
{
74+
// used for debugging unit tests
75+
"name": "MochaTest",
76+
"type": "node",
77+
"request": "attach",
78+
"port": 9229,
79+
"continueOnAttach": true,
80+
"autoAttachChildProcesses": false,
81+
"skipFiles": [
82+
"<node_internals>/**"
83+
],
84+
"outFiles": [
85+
"${workspaceFolder}/dist/**",
86+
"!**/node_modules/**"
87+
]
88+
}
89+
],
90+
"inputs": [
91+
{
92+
"type": "pickString",
93+
"id": "pickScenario",
94+
"description": "Select which scenario to debug VSCode tests.",
95+
"options": [
96+
{
97+
"label": "MultirootDeadlockTest ",
98+
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
99+
},
100+
{
101+
"label": "SimpleCppProject ",
102+
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
103+
},
104+
{
105+
"label": "SingleRootProject ",
106+
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
107+
},
108+
{
109+
"label": "CompilerDetection ",
110+
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
111+
}
112+
]
113+
},
114+
{
115+
"type": "pickString",
116+
"id": "pickWorkspace",
117+
"description": "Select which workspace scenario to debug VSCode.",
118+
"default": "-n",
119+
"options": [
120+
{
121+
"label": "(Debug with new window) ",
122+
"value": "-n"
123+
},
124+
{
125+
"label": "MultirootDeadlockTest ",
126+
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
127+
},
128+
{
129+
"label": "SimpleCppProject ",
130+
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
131+
},
132+
{
133+
"label": "SingleRootProject ",
134+
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
135+
},
136+
{
137+
"label": "CompilerDetection ",
138+
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
139+
}
140+
]
141+
}
142+
]
26143
}

0 commit comments

Comments
 (0)