安装发布工具 vsce
vsce 是一个用于将插件发布到vscode 插件市场上的命令行工具。
1 | $ npm install vsce -g |
注册 vscode 开发者信息
新建 Azure DevPos 组织
- 登录 Azure DevOps。
- 点击 New organization。
- 确认信息,然后选择 Continue。
到这里,一个组织就创建成功了,之后随时登录到你的组织https://dev.azure.com/tuyaworks。
获取 Personal Access Token
下面的例子里,我们假设组织名为 vscode,从你的组织主页(例如:https://dev.azure.com/tuyaworks ) 进入 Personal access tokens 页面:
点击 New Token 创建一个新的 Personal Access Token:
给 Personal Access Token 添加描述,过期时间等等,你最好把过期时间设置为 1 年,这样你接下就能方便很多,选择 custom defined(用户自定义) 范围,然后点击 Show all scopes(显示全部) ,在这个列表中找到 Marketplace,并勾选 Acquire 和 Manage:
点击 Create,你就会看到新创建的 Personal Access Token 了,复制好,你接下来就会用到这个 token 来创建一个发行方了。
创建一个发行方
发行方是 VS Code 市场有权发布插件的唯一标识,每个插件的 package.json 文件都包含着 publisher 字段。
现在我们已经有了 Personal Access Token,我们马上可以通过 vscode-create-publisher 创建一个发行方。
发行方登录
如果你已经有发行方账号了:
1 | $ vsce login (publisher name) |
vsce
会记住这个 Personal Access Token,日后你需要再次使用的时候会自动带上。
你也可以用命令参数 -p <token>
直接登录然后立即发布插件:
1 | $ vsce publish -p <token> |
vscode 插件版本维护
增量更新插件版本
用 SemVer 语义标识符:major,minor,patch 增量更新插件版本号。
例如,你想把插件从 1.0.0 更新到 1.1.0,那么加上 minor:
1 | $ vsce publish minor |
插件 package.json 的 version 会先更新,然后才发布插件。
你也可以通过命令行指定版本号:
1 | $ vsce publish 2.0.1 |
下架插件
通过指定插件 idpublisher.extension 下架插件:
1 | $ vsce unpublish (publisher name).(extension name) |
当你下架插件的时候,市场会移除所有插件的历史统计数据,请在下架前再三考虑,最好还是更新插件吧。
VS Code 版本兼容性
当你制作插件的时候,你需要描述插件对 VS Code 的版本兼容性——修改 package.json 中的 engines.vscode:
1 | { |
1.8.0 表示你的插件只能兼容 1.8.0 版本的 VS Code,^1.8.0 则表示你的插件向上兼容,包括 1.8.1, 1.9.0 等等。
使用 engines.vscode
可以确保插件安装环境包含了插件依赖的 API。这个机制在稳定版和 Insider 版本都适用。
现在我们假设最新的稳定版 API 是 1.8.0,而 1.9.0 引入了新的 API,所以你可以用 1.9.0-insider 标识插件在 Insider 版中也可正常使用。 如果你想使用这些刚刚引入的 API,则将依赖版本设置为 ^1.9.0,你的插件则只能安装在 >=1.9.0 的 VS Code 上,也就意味着所有当前的 Insider 版本都可以用得上,而稳定版只有在更新到 1.9.0 才能使用你的插件。
vscode 插件打包
你也可能只是想打包一下插件,而不是发布到商店里。用下列命令将插件打包到 .vsix
文件中:
1 | $ vsce package |
这个命令会在当前目录生成一个 .vsix 文件,直接从 .vsix 安装插件是允许的,查看从 VSIX 安装插件了解更多内容。