欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > VS Code 扩展如何发布到私有Nexus的正确姿势

VS Code 扩展如何发布到私有Nexus的正确姿势

2025/9/7 9:56:41 来源:https://blog.csdn.net/oscar999/article/details/140335597  浏览:    关键词:VS Code 扩展如何发布到私有Nexus的正确姿势

VS Code扩展的发布

在这里插入图片描述

VS Code 扩展的发布需要使用到vscevsce是一个用于打包、发布和管理 VS Code 扩展的命令行工具。可以通过 npm 来全局安装它:

npm install -g vsce

发布扩展到微软的应用市场

VS Code 的应用市场基于微软自己的 Azure DevOps。要发布扩展,需要先注册一个 Microsoft 账号,并创建一个 Azure DevOps 组织。然后,在 Azure DevOps 中创建一个 Personal Access Token(PAT),这个 Token 在发布扩展时会用到。

使用vsce工具创建一个发布者账号。这个账号将用于在 VS Code 应用市场中标识你的扩展。运行以下命令来创建发布者账号:

vsce create-publisher 

在创建了发布者账号并登录后,可以使用以下命令来发布扩展:

vsce publish <version>

其中<version>是扩展的版本号。

发布完成后,可以在 VS Code 的扩展市场中搜索到扩展名称。

Nexus 的介绍

Nexus是一个强大的仓库管理器,全称为Nexus Repository Manager,由Sonatype公司开发。其支持多种类型的仓库,包括Maven、npm、Docker等。
使用Nexus 可以搭建私有仓库。

虽然没有直接提供对VS Code扩展的支持,但使用 npm 可以达成发布VS Code扩展到Nexus库的目的。

发布自行开发的VS Code插件到Nexus 的极简步骤

在这里插入图片描述

步骤1. 在Nexus 创建一个 npm(host) 的库,用于存放VS Code 扩展

登录Nexus管理后台,进入服务的管理和配置:

在这里插入图片描述

点击创建库, 选择库的类型是npm(hosted)
在这里插入图片描述

在这里插入图片描述

这里创建的库的名字是 my-vs-ext,完整的地址如下:

http://myhost:8081/repository/my-vs-ext/

复制这个地址。

步骤2 在VS Code扩展项目修改如下配置:

修改:

	"repository": {"type": "nexus","url": "http://myhost:8081/repository/my-vs-ext/"},

新增:

	"publishConfig": {"registry": "http://myhost:8081/repository/my-vs-ext/"},

修改:

	"scripts": {"prepublishOnly": "vsce package -o myextension.vsix --baseContentUrl http://myhost:8081/repository/my-vs-ext/","vscode:prepublish": "webpack --mode production","webpack": "webpack --mode development","webpack-dev": "webpack --mode development --watch","test-compile": "tsc -p ./","lint": "eslint \"src/**/*.ts\""},
  • 这里主要是增加prepublishOnly 的配置

步骤3. 配置Nexus认证信息

通过.npmrc可以配置 Nexus私有库的认证信息。

  • {插件项目路径}.npmrc
  • C:\Users\xxx.npmrc

配置的格式是:

registry=https://your-nexus-server/repository/your-repo/
//your-nexus-server/repository/your-repo/:_auth=BASE64_ENCODED_CREDENTIALS
//your-nexus-server/repository/your-repo/:username=username
//your-nexus-server/repository/your-repo/:_password=BASE64_ENCODED_PASSWORD
//your-nexus-server/repository/your-repo/:email=your-email@example.com
//your-nexus-server/repository/your-repo/:always-auth=true

这里的_auth 和 _password 是Base 64 的编码
*_auth 对应的是:username:password 的编码

  • _password 就是 password 的编码
获取Base64编码

Linux 系统可以直接使用如下命令获取:

echo -n 'username:password' | base64

如果是Windows 系统, CMD 不支持上面的方式,会提示Base64不是内部或外部命名, 如果安装了Git, 可以使用Git Bash 执行获取。
执行效果如下:

在这里插入图片描述

确认认证是成功的

在命令行输入如下命令:

npm whoami --registry https://your-nexus-server/repository/your-repo/ 

认证成功会返回用户名,接下来就可以执行发布命令了。

发布

在命令行输入如下命令:

npm publish --registry https://your-nexus-server/repository/your-repo/ 

等命令行执行完成, 控制台没有出现错误的话,可以到 Nexus 中去查询发布的VS Code扩展。



版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词