You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过点击按钮启动VS Code项目的自定义Walkthrough?

实现自定义Walkthrough的触发与自动显示

一、通过按钮点击启动Walkthrough

你之前使用的workbench.walkthroughs.extension命令不正确,正确的触发命令是workbench.action.openWalkthrough,需要传入扩展ID和你的Walkthrough ID作为参数才能精准定位到自定义引导页。

命令调用格式

vscode.commands.executeCommand('workbench.action.openWalkthrough', {
    extensionId: '你的扩展唯一ID', // 格式为package.json中publisher.name的组合,比如"myPublisher.myExtension"
    walkthroughId: 'Project Walkthrough' // 与你定义的Walkthrough ID完全一致
});

完整按钮实现示例

  1. 先在package.json中配置按钮的命令与展示位置:
{
  "contributes": {
    "commands": [
      {
        "command": "yourExtension.openProjectWalkthrough",
        "title": "打开项目引导页"
      }
    ],
    "menus": {
      "commandPalette": [
        {
          "command": "yourExtension.openProjectWalkthrough",
          "when": "true"
        }
      ],
      "activitybar": [ // 也可放在编辑器标题栏、侧边栏等位置
        {
          "command": "yourExtension.openProjectWalkthrough",
          "group": "navigation"
        }
      ]
    }
  }
}
  1. 在扩展激活代码中注册命令逻辑:
function activate(context) {
  const openWalkthrough = vscode.commands.registerCommand(
    'yourExtension.openProjectWalkthrough',
    () => {
      vscode.commands.executeCommand('workbench.action.openWalkthrough', {
        extensionId: 'myPublisher.myExtension', // 替换为你的实际扩展ID
        walkthroughId: 'Project Walkthrough'
      });
    }
  );

  context.subscriptions.push(openWalkthrough);
}

二、设置Walkthrough激活时自动显示

有两种方式可以实现扩展激活时自动弹出引导页:

方法1:通过Walkthrough配置触发

直接在package.json的Walkthrough定义中添加when条件,指定触发时机为扩展激活:

"walkthroughs": [
  {
    "id": "Project Walkthrough",
    "when": "extensionActivated:myPublisher.myExtension" // 替换为你的扩展ID
  }
]

方法2:在扩展激活代码中主动调用

在扩展的activate函数里直接执行打开Walkthrough的命令:

function activate(context) {
  // 扩展激活时自动弹出引导页
  vscode.commands.executeCommand('workbench.action.openWalkthrough', {
    extensionId: 'myPublisher.myExtension',
    walkthroughId: 'Project Walkthrough'
  });

  // 其他扩展逻辑代码...
}

关键注意事项

  • extensionId必须严格匹配你的package.json中publisher和name的组合,比如publisher: "foo"、name: "bar",则extensionId为foo.bar
  • Walkthrough的id要和定义的完全一致,区分大小写
  • 确保你的Walkthrough配置包含完整的steps等必要字段,否则可能无法正常加载显示

内容的提问来源于stack exchange,提问作者Amit Thombare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 06:53:12