173 lines
6.4 KiB
JSON
173 lines
6.4 KiB
JSON
// A launch configuration that compiles the extension and then opens it inside a new window
|
|
{
|
|
"version": "0.1.0",
|
|
"configurations": [
|
|
{
|
|
// debugs the extension
|
|
"name": "Run Extension",
|
|
"type": "extensionHost",
|
|
"request": "launch",
|
|
"args": [
|
|
"--no-sandbox",
|
|
"--disable-updates",
|
|
"--skip-welcome",
|
|
"--skip-release-notes",
|
|
"--disable-workspace-trust",
|
|
"--extensionDevelopmentPath=${workspaceFolder}",
|
|
],
|
|
"sourceMaps": true,
|
|
"outFiles": [
|
|
"${workspaceFolder}/dist/**"
|
|
],
|
|
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
|
"preLaunchTask": "watch"
|
|
},
|
|
{
|
|
// debugs the extension with sanitizer (TSan/ASan/UBSan) reports captured to files.
|
|
// Requires a sanitizer build of the cpptools language server. Each process writes
|
|
// ${userHome}/cpptools-sanitizer-logs/<sanitizer>.<pid> (see readme.developer.md).
|
|
"name": "Run Extension (capture sanitizer logs)",
|
|
"type": "extensionHost",
|
|
"request": "launch",
|
|
"env": {
|
|
"CPPTOOLS_SANITIZER_LOG_DIR": "${userHome}/cpptools-sanitizer-logs"
|
|
},
|
|
"args": [
|
|
"--no-sandbox",
|
|
"--disable-updates",
|
|
"--skip-welcome",
|
|
"--skip-release-notes",
|
|
"--disable-workspace-trust",
|
|
"--extensionDevelopmentPath=${workspaceFolder}",
|
|
],
|
|
"sourceMaps": true,
|
|
"outFiles": [
|
|
"${workspaceFolder}/dist/**"
|
|
],
|
|
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
|
"preLaunchTask": "watch"
|
|
},
|
|
{
|
|
// debugs the extension (selecting the workspace)
|
|
"name": "Run Extension-Select Workspace",
|
|
"type": "extensionHost",
|
|
"request": "launch",
|
|
"args": [
|
|
"--no-sandbox",
|
|
"--disable-updates",
|
|
"--skip-welcome",
|
|
"--skip-release-notes",
|
|
"--disable-workspace-trust",
|
|
"--extensionDevelopmentPath=${workspaceFolder}",
|
|
"${input:pickWorkspace}"
|
|
],
|
|
"sourceMaps": true,
|
|
"outFiles": [
|
|
"${workspaceFolder}/dist/**"
|
|
],
|
|
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
|
"preLaunchTask": "watch"
|
|
},
|
|
{
|
|
// debug scenario tests (selecting the workspace)
|
|
"name": "VSCode Tests",
|
|
"type": "extensionHost",
|
|
"request": "launch",
|
|
"runtimeExecutable": "${execPath}",
|
|
"env": {
|
|
"SCENARIO": "${input:pickScenario}"
|
|
},
|
|
"args": [
|
|
"--no-sandbox",
|
|
"--disable-updates",
|
|
"--skip-welcome",
|
|
"--skip-release-notes",
|
|
"--disable-extensions",
|
|
"--extensionDevelopmentPath=${workspaceFolder}",
|
|
"--extensionTestsPath=${workspaceFolder}/dist/test/common/selectTests",
|
|
"--scenario=${input:pickScenario}",
|
|
"${input:pickScenario}"
|
|
],
|
|
"sourceMaps": true,
|
|
"outFiles": [
|
|
"${workspaceFolder}/dist/**"
|
|
],
|
|
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
|
"preLaunchTask": "watch"
|
|
},
|
|
{
|
|
// used for debugging unit tests
|
|
"name": "MochaTest",
|
|
"type": "node",
|
|
"request": "attach",
|
|
"port": 9229,
|
|
"continueOnAttach": true,
|
|
"autoAttachChildProcesses": false,
|
|
"skipFiles": [
|
|
"<node_internals>/**"
|
|
],
|
|
"outFiles": [
|
|
"${workspaceFolder}/dist/**",
|
|
"!**/node_modules/**"
|
|
]
|
|
}
|
|
],
|
|
"inputs": [
|
|
{
|
|
"type": "pickString",
|
|
"id": "pickScenario",
|
|
"description": "Select which scenario to debug VSCode tests.",
|
|
"options": [
|
|
{
|
|
"label": "MultirootDeadlockTest ",
|
|
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
|
|
},
|
|
{
|
|
"label": "RunWithoutDebugging ",
|
|
"value": "${workspaceFolder}/test/scenarios/RunWithoutDebugging/assets/"
|
|
},
|
|
{
|
|
"label": "SimpleCppProject ",
|
|
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
|
|
},
|
|
{
|
|
"label": "SingleRootProject ",
|
|
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
|
|
},
|
|
{
|
|
"label": "CompilerDetection ",
|
|
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "pickString",
|
|
"id": "pickWorkspace",
|
|
"description": "Select which workspace scenario to debug VSCode.",
|
|
"default": "-n",
|
|
"options": [
|
|
{
|
|
"label": "(Debug with new window) ",
|
|
"value": "-n"
|
|
},
|
|
{
|
|
"label": "MultirootDeadlockTest ",
|
|
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
|
|
},
|
|
{
|
|
"label": "SimpleCppProject ",
|
|
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
|
|
},
|
|
{
|
|
"label": "SingleRootProject ",
|
|
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
|
|
},
|
|
{
|
|
"label": "CompilerDetection ",
|
|
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|