How to Write a VSCode Extension
Contents
How to Write a VS Code Extension
已经很久没有写博客了,今天来写一个关于如何开发 VS
Code 插件的简单介绍。本来是想用英文来写的,但是为了简短描述VS Code的插件开发,还是用中文来写吧。
背景
最近工作内容有用到nc文件,具体是GCODE的一个文件格式,有一些在线的
ncviewer
可以看但是都不是足够好用,就调研了一下同类型的都在 Windows 上有,但是也没有更好的,于是想了想不如把其中一个用
Threejs 的用 webview
包裹一下放到 VSCode 里面,这样就可以在 VS
Code 里面直接查看了。项目已经开源在GitHub
脚手架
vscode 提供了一个脚手架工具,可以通过以下命令来创建一个新的插件项目:
 |  | 
发布脚手架vsce,可以通过以下命令来安装:
 |  | 
发布插件可以通过以下命令:
 |  | 
核心实现
大部分代码是 AI 辅助,逻辑是自己想的,就是要打开一个 nc 文件就可以 view
- 注册绑定一个 VS Code 的 command 注意在 package 里面注册好对应的 context
 - 创建一个 webview panel, 定义好和 webview 通信的消息格式
 - 在 webview 中加载 Threejs 的代码,注意要把相关的资源文件放到合适的位置,并在 webview 中正确引用
 - 在 webview 中处理用户交互,比如加载文件、渲染模型等
 - 处理 webview 和 VS Code 之间的通信,比如发送文件路径、接收渲染结果等 (主要是高亮等)
 
 |  | 
注意
- 发布插件需要在微软软件市场注册 publisher 并获取对应的 PAT(personal access token)
 - 插件发布有个 Change log 需要配置等
 - 插件的版本号需要遵循语义化版本控制(Semver)规范
 - 插件的图标和描述需要符合微软的规范,建议使用 SVG 格式