diff options
| author | igorskyflyer <igor.dvlpr@gmail.com> | 2023-07-15 21:18:57 +0200 |
|---|---|---|
| committer | igorskyflyer <igor.dvlpr@gmail.com> | 2023-07-20 15:41:08 +0200 |
| commit | 5d67cbea43b8ff573e3082b79cd502d58b260685 (patch) | |
| tree | 89a7574d05a7643f7f4166b860ae97c7442cf1aa | |
| parent | 996e054f1eb1dbfc8455ecabff0f6ff22ba7f7c8 (diff) | |
| download | rust-5d67cbea43b8ff573e3082b79cd502d58b260685.tar.gz rust-5d67cbea43b8ff573e3082b79cd502d58b260685.zip | |
Use notification command links for debugger installation
| -rw-r--r-- | editors/code/src/debug.ts | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/editors/code/src/debug.ts b/editors/code/src/debug.ts index f3d6238d51b..e817d680eae 100644 --- a/editors/code/src/debug.ts +++ b/editors/code/src/debug.ts @@ -66,6 +66,12 @@ export async function startDebugSession(ctx: Ctx, runnable: ra.Runnable): Promis return vscode.debug.startDebugging(undefined, debugConfig); } +function createCommandLink(extensionId: string): string { + // do not remove the second quotes inside + // encodeURIComponent or it won't work + return `extension.open?${encodeURIComponent(`"${extensionId}"`)}`; +} + async function getDebugConfiguration( ctx: Ctx, runnable: ra.Runnable, @@ -90,9 +96,12 @@ async function getDebugConfiguration( } if (!debugEngine) { + const commandCodeLLDB: string = createCommandLink("vadimcn.vscode-lldb"); + const commandCpp: string = createCommandLink("ms-vscode.cpptools"); + await vscode.window.showErrorMessage( - `Install [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)` + - ` or [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) extension for debugging.`, + `Install [CodeLLDB](command:${commandCodeLLDB} "Open CodeLLDB")` + + ` or [C/C++](command:${commandCpp} "Open C/C++") extension for debugging.`, ); return; } |
