diff --git a/src/commands.ts b/src/commands.ts index fa0fbdf..3a7940a 100644 --- a/src/commands.ts +++ b/src/commands.ts @@ -242,10 +242,15 @@ export class AlicloudApiCommands { }); vscode.commands.registerCommand("alicloud.api.openDocument", (config) => { - new AlicloudAPIWebview().openTab(context.extensionUri, config, context); + try { + new AlicloudAPIWebview().openTab(context.extensionUri, config, context); + return "ok"; + } catch (e) { + return e; + } }); - vscode.commands.registerCommand("alicloud.api.quickOpenDocument", (arg) => { + vscode.commands.registerCommand("alicloud.api.quickOpenDocument", async (arg) => { const { apiName, product, version } = arg; const specName = `${product}__${version}`; @@ -255,7 +260,7 @@ export class AlicloudApiCommands { const apiMeta = pontSpec?.apis[apiName]; - vscode.commands.executeCommand("alicloud.api.openDocument", { + const result = await vscode.commands.executeCommand("alicloud.api.openDocument", { specName, apiName, name: apiName, @@ -263,6 +268,7 @@ export class AlicloudApiCommands { pageType: "document", schemaType: "api", }); + return result; }); // 刷新问卷调查弹窗过期设置 diff --git a/src/test/suite/extension.test.ts b/src/test/suite/extension.test.ts index f368f9b..eb16dfc 100644 --- a/src/test/suite/extension.test.ts +++ b/src/test/suite/extension.test.ts @@ -25,4 +25,12 @@ suite("Extension Test Suite", () => { console.log("alicloud.api.restart successfully executed"); assert.strictEqual("ok", result); }); + + test("Test alicloud.api.quickOpenDocument command", async () => { + const args = [{ apiName: "RunInstances", product: "Ecs", version: "2014-05-26" }]; + + const result = await vscode.commands.executeCommand("alicloud.api.quickOpenDocument", args); + console.log("alicloud.api.quickOpenDocument successfully executed"); + assert.strictEqual("ok", result); + }); });