这篇文章记录如何编写一个vscode插件(vscode extension)。
最近我刚刚编写完一个生成模板配置文件的vscode插件,记录一下经验
插件项目生成工具 yo
vscode的插件开发是有一定规范的,因此会有一个命令行工具用于生成项目结构。
参考: https://code.visualstudio.com/api/get-started/your-first-extension
npm安装项目生成工具:
npm install -g yo generator-code
使用项目生成工具生成项目:
yo code
项目可以使用typescript或者javascript编写,可以选择生成什么类型的项目。
关键文件
{
"name": "hello-template",
"activationEvents": [
"onCommand:hello-template.tgen"
],
"main": "./extension.js",
function activate(context) {
console.log('Congratulations, your extension "hello-template" is now active!');
let disposable = vscode.commands.registerCommand('hello.example.tgen', function () {
}
}
但是在这里我想特别记录几个API:
如何获取vscode当前工作目录
也就是配置文件生成后放的路径:
vscode.workspace.workspaceFolders[0].uri.fsPath
如何获取插件的安装目录
模板生成程序需要从插件安装目录中读取模板
vscode.extensions.getExtension("<publisher_name>.<extension_name>").extensionPath
这里的<publisher_name>.<extension_name> 对象package.json 里的
{
"name": "cicd-template",
"displayName": "cicd-template",
"description": "",
"publisher": "oneslideicywater",
}
发布插件
参考链接:https://code.visualstudio.com/api/working-with-extensions/publishing-extension
1. 创建微软账号
也就是文档的Get a Personal Access Token 部分,按照文档的步骤把token拿到。
在本地开发环境登录:
vsce login <publisher name>
2. 打包
先安装打包工具
npm install -g vsce
打包
vsce package
vsce publish
注意修改package.json里的version 字段,因为每次发布必须是加版本号
3. vscode markplace
插件发布到markplace,应该就可以在那看见
链接:https://marketplace.visualstudio.com/vscode
|