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

VS Code扩展如何通过命令面板打开自身仓库内README.md的markdown预览

问题原因

你代码中使用的相对路径是基于VS Code当前激活的工作区根目录解析的,无法定位到扩展自身目录下的文件,所以会触发报错。

解决方法

可以通过context.extensionUri获取扩展根目录的绝对路径,再拼接对应文件路径即可。如果要直接打开markdown预览,不需要先打开文本编辑器,直接调用VS Code内置的markdown预览命令即可。

完整实现代码

const vscode = require('vscode');

context.subscriptions.push(
  vscode.commands.registerCommand('new-extension.showReadMe', async () => {
    // 拼接扩展根目录下README.md的绝对路径
    const readmeUri = vscode.Uri.joinPath(context.extensionUri, 'README.md');
    
    // 直接打开markdown预览(符合你的需求)
    await vscode.commands.executeCommand('markdown.showPreview', readmeUri);

    // 若需要打开文本编辑模式的README,用下面两行替换上面的预览命令即可
    // const docs = await vscode.workspace.openTextDocument(readmeUri);
    // await vscode.window.showTextDocument(docs);
  })
);

注意事项

  • 确保扩展打包时包含根目录的README.md文件,可在package.json的files字段中添加对应文件声明,避免打包时被忽略。
  • context.extensionUri是VS Code扩展API提供的标准扩展根目录定位方式,兼容本地开发和发布后安装的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:54:04