Use notification command links for debugger installation
This commit is contained in:
parent
996e054f1e
commit
5d67cbea43
@ -66,6 +66,12 @@ export async function startDebugSession(ctx: Ctx, runnable: ra.Runnable): Promis
|
|||||||
return vscode.debug.startDebugging(undefined, debugConfig);
|
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(
|
async function getDebugConfiguration(
|
||||||
ctx: Ctx,
|
ctx: Ctx,
|
||||||
runnable: ra.Runnable,
|
runnable: ra.Runnable,
|
||||||
@ -90,9 +96,12 @@ async function getDebugConfiguration(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!debugEngine) {
|
if (!debugEngine) {
|
||||||
|
const commandCodeLLDB: string = createCommandLink("vadimcn.vscode-lldb");
|
||||||
|
const commandCpp: string = createCommandLink("ms-vscode.cpptools");
|
||||||
|
|
||||||
await vscode.window.showErrorMessage(
|
await vscode.window.showErrorMessage(
|
||||||
`Install [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)` +
|
`Install [CodeLLDB](command:${commandCodeLLDB} "Open CodeLLDB")` +
|
||||||
` or [MS C++ tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) extension for debugging.`,
|
` or [C/C++](command:${commandCpp} "Open C/C++") extension for debugging.`,
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user