Force showing extension activation error pop-up notification
This commit is contained in:
parent
8035b0a27e
commit
6a6ce616aa
@ -19,6 +19,16 @@ let ctx: Ctx | undefined;
|
|||||||
const RUST_PROJECT_CONTEXT_NAME = "inRustProject";
|
const RUST_PROJECT_CONTEXT_NAME = "inRustProject";
|
||||||
|
|
||||||
export async function activate(context: vscode.ExtensionContext) {
|
export async function activate(context: vscode.ExtensionContext) {
|
||||||
|
// For some reason vscode not always shows pop-up error notifications
|
||||||
|
// when an extension fails to activate, so we do it explicitly by ourselves.
|
||||||
|
// FIXME: remove this bit of code once vscode fixes this issue: https://github.com/microsoft/vscode/issues/101242
|
||||||
|
await tryActivate(context).catch(err => {
|
||||||
|
void vscode.window.showErrorMessage(`Cannot activate rust-analyzer: ${err.message}`);
|
||||||
|
throw err;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function tryActivate(context: vscode.ExtensionContext) {
|
||||||
// Register a "dumb" onEnter command for the case where server fails to
|
// Register a "dumb" onEnter command for the case where server fails to
|
||||||
// start.
|
// start.
|
||||||
//
|
//
|
||||||
@ -58,9 +68,7 @@ export async function activate(context: vscode.ExtensionContext) {
|
|||||||
|
|
||||||
const workspaceFolder = vscode.workspace.workspaceFolders?.[0];
|
const workspaceFolder = vscode.workspace.workspaceFolders?.[0];
|
||||||
if (workspaceFolder === undefined) {
|
if (workspaceFolder === undefined) {
|
||||||
const err = "Cannot activate rust-analyzer when no folder is opened";
|
throw new Error("no folder is opened");
|
||||||
void vscode.window.showErrorMessage(err);
|
|
||||||
throw new Error(err);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note: we try to start the server before we activate type hints so that it
|
// Note: we try to start the server before we activate type hints so that it
|
||||||
|
Loading…
Reference in New Issue
Block a user