安装vsce
vsce是"Visual Studio Code Extensions"的缩写,是一个用于打包、发布和管理VS Code扩展的命令行工具。
确保您安装了Node.js。然后运行:
bash
npm install -g @vscode/vsce
您可以使用vsce轻松打包和发布扩展:
bash
// 打包插件生成name.vsix文件
vsce package
// 发布插件
vsce publish
vsce还可以搜索、检索元数据和取消发布扩展。有关所有availablevsce命令的参考,请运行vsce --help。
发布扩展
Visual Studio Code使用Azure DevOps进行其市场服务。这意味着通过Azure DevOps提供扩展的身份验证、托管和管理。
vsce只能使用个人访问令牌发布扩展。您需要至少创建访问令牌一个才能发布扩展。
如果不想创建访问令牌可以通过Visual Studio Marketplace手动发布扩展。
获取访问令牌
首先,按照文档在Azure DevOps中创建自己的组织。在以下示例中,组织名称为vscode。请注意,组织的名称不一定与您的出版商名称相同
- 从您组织的主页(例如:https://dev.azure.com/vscode),打开您的个人资料图像旁边的用户设置下拉菜单,然后选择个人访问令牌:![](https://file.jishuzhan.net/article/1769197284559425538/8e1de0bbd8bc532f46f53fd7fbeadf04.webp)编辑在个人访问令牌页面上,选择新令牌:![](https://file.jishuzhan.net/article/1769197284559425538/a0883a0b64722b9a6527bbf7a00d4d4e.webp)
- 在创建新的个人访问令牌模式中,为令牌选择以下详细信息:
- Name: 任意名称
- Organization: 不重复的组织
- Expiration (optional): 为令牌设置所需的到期日期
- Scopes:令牌的访问范围:
- 单击下方的Show all scopes(显示全部)链接
- 在范围列表中,滚动到Marketplace并选择Manage
- 点击创建。您将看到您新创建的个人访问令牌。将其复制到安全位置,您需要它来创建publisher。
创建一个publisher
publisher是一个可以向Visual Studio Code市场发布扩展的身份。每个扩展都需要在其package.json文件包含一个publisher属性。
创建publisher:
-
使用您在上一节中用于创建个人访问令牌的同一微软帐户登录
-
单击左侧窗格中的Create publisher。
-
在新页面中,指定新发布者的强制性参数-Name和Id(分别为Name和ID字段):
- Name:您的publisher的唯一名称,将与您的扩展一起显示在Marketplace中。
- ID:Marketplace中publisher的唯一标识符,将用于您的扩展URL。创建后无法更改ID。 以下是Docker扩展的发布者标识符和名称示例:
-
其他字段可选填。
-
点击创建
-
使用vsce验证新创建的publisher。在您的终端中,运行以下命令,当出现提示时,键入上一步中创建的个人访问令牌:
bash// Id为publisher Id vsce login Id https://marketplace.visualstudio.com/manage/publishers/ Personal Access Token for publisher '<publisher id>': **************************************************** The Personal Access Token verification succeeded for the publisher '<publisher id>'.
验证后,您就可以发布扩展了。
手动发布
bash
// 打包插件生成name.vsix文件
vsce package
访问Visual Studio Marketplace,并登陆上一节中创建的Microsoft账户,然后点击右上角的Publish extension
如果我们按照上文创建了publisher,就会直接进入到下面的页面,我们点击New extension选择Visual Studio Code上传我们打包好的以vsix为后缀的文件即可
上传成功后我们就可以在插件库中看见我们上传的插件了(上传后大概五到十分钟就可以在vscode中搜索到我们上传的插件了)
更新扩展
修改package.json中的version。
重新运行vsce package打包自动发布或直接运行vsce publish