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 格式