VSCode RISC-V 插件开发教程 (1)

本教程内容整理自 张子彤 - VSCcode RISC-V 插件制作(1)-20250910 的演讲视频,属于 PLCT 实验室内部报告,仅供技术交流使用。演讲围绕 VSCode 插件开发流程展开,以 RuyiSDK 包管理器为例,讲解了插件的创建、配置、功能设计等关键步骤。本文在原视频基础上进行了结构化整理,适合开发者快速入门 VSCode 插件开发,并参考如意工具链的集成实践。

如有疏漏或错误之处,欢迎批评指正,共同完善。如需转载或引用本文内容,请注明出处,尊重原作者的劳动成果。

第一步:VSCode 扩展开发基础

  1. 准备开发环境:

    • 为了开发一个 VSCode 插件,我们推荐使用 Yeoman 和 VSCode Extension Generator 快速生成 TypeScript 项目骨架。你可以选择临时使用或全局安装这两个工具:

    快速启动方式(无需全局安装)

    npx --package yo --package generator-code -- yo code
    

    这条命令会临时下载所需工具并启动项目生成器,适合一次性使用或轻量开发。

    全局安装方式(推荐)

    npm install --global yo generator-code
    yo code
    

    适合频繁开发插件的用户,安装后可随时运行 yo code 创建新项目。

  2. 项目结构说明:

    生成的插件项目通常包含以下文件:

    • launch.json:调试和启动扩展的配置
    • tasks.json:编译 TypeScript 的任务配置
    • .gitignore:忽略编译产物和 node_modules 等不需提交的文件
    • README.md:扩展功能的可读说明
    • src/extension.ts:扩展源码
    • package.json:扩展清单
    • tsconfig.json:TypeScript 配置

3.插件调试流程

  1. 在 VSCode 中打开项目文件夹
  2. 打开 src/extension.ts
  3. 按下 F5 或运行命令面板中的 Debug: Start Debugging(快捷键 Ctrl+Shift+P
  4. VSCode 会启动一个新的「扩展开发宿主窗口」
  5. 在新窗口中打开命令面板,运行你注册的插件命令进行测试

第二步:选择开源许可证

在开发 VSCode 插件时,选择合适的开源许可证至关重要。常见的三种许可证包括:

  • Apache 2.0:一种宽松型许可证,允许自由使用、修改和分发,同时提供专利授权保护。适合希望支持商业化、闭源分发且规避专利风险的项目。
  • MIT 许可证:极为简洁宽松,允许几乎任何用途,包括商用和闭源,仅要求保留原始版权声明。适合初创团队和快速迭代的项目,但不包含专利授权条款。
  • GPL 许可证:强制开源许可证,要求所有衍生作品也必须开源发布,不能与闭源代码混合使用。适合强调社区共享和代码自由的项目。

本项目最终选择 Apache 2.0 作为开源许可证,兼顾灵活性与法律保障,适合插件生态的长期发展。

第三步:功能设计

本教程以 “RuyiSDK 包管理器” 的插件为例,设计了以下功能,你可以根据自己的需求进行调整:

  1. SDK 检测与安装:

    • 在插件启动时,自动检测系统是否已安装RuyiSDK
    • 通过弹窗提示用户检测结果,并提供“一键安装”按钮,让用户无需手动下载
  2. 包管理:

    • 在 VSCode 中创建一个类似于插件商店的 UI 界面
    • 用户可以在界面中搜索、安装和卸载软件包,提供一站式体验
  3. 新闻订阅:

    • 使用 VSCode 的 WebviewView 组件展示最新的 RISC-V 相关新闻
    • 利用 Markdown 渲染,美化新闻的正文内容
  4. 虚拟环境管理:

    • 提供一个快速选择(QuickPick)组件,列出所有虚拟环境。
    • 用户可以方便地创建、切换或关闭虚拟环境,而无需在终端中手动输入命令

    示例效果图:

第四步:项目编译与 Package.json 配置

  1. 编译和检查:

    • 安装 TypeScript 编译器

      如果尚未安装 TypeScript 编译器,请使用以下命令:

      npm install -g typescript
      

      这将安装全局的 tsc 命令,用于编译 .ts 文件。

    编译方式一:单文件编译

    适合快速测试或小型脚本:

    tsc filename.ts
    

    编译方式二:监听模式(推荐开发时使用)

    使用 --watch 参数启动监听模式,自动重新编译修改过的文件:

    tsc filename.ts --watch
    

    每次保存文件时,编译器会自动重新生成 JavaScript,无需手动运行命令。

    编译方式三:使用配置文件编译(推荐项目开发)

    通过配置文件 tsconfig.json 管理整个项目的编译行为:

    tsc --init  #初始化配置文件
    

    生成后可在其中设置编译选项,避免在命令行中重复输入参数。

    使用配置文件编译:

    tsc --project tsconfig.json
    

    编译器会根据配置文件自动识别要编译的文件、输出目录、模块系统等。

  2. 配置插件清单文件(package.json):

package.json 是 VSCode 插件的核心清单文件,决定插件的基本信息、激活方式、功能入口和依赖环境。主要包含以下几个关键字段:

  • name:插件唯一标识,必须全小写、无空格

  • displayName:插件在 VSCode 商店中展示的名称

  • description:简要说明插件功能

  • version:插件版本号,遵循语义化(如 0.1.0

  • license:开源许可证

  • publisher:发布者标识符

  • engine:指定支持的 VSCode 版本(如 "vscode": "1.88.0"

    更多配置文件说明详见原视频

示例配置片段:

5 个赞

期待更新,希望这边能够复现

4 个赞

欢迎尝试,有问题可以一起交流~

1 个赞