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扩展。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/790469.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络--tcpdump和iptable设置、内核参数优化策略

tcpdump工具 tcpdump命令&#xff1a; 选项字段&#xff1a; 过滤表达式&#xff1a; 实用命令&#xff1a; TCP三次握手抓包命令&#xff1a; #客户端执行tcpdump 抓取数据包 tcpdump -i etho tcp and host 192.168.12.36 and port 80 -W timeout.pcapnetstat命令 netst…

element el-table实现表格动态增加/删除/编辑表格行,带校验规则

本篇文章记录el-table增加一行可编辑的数据列&#xff0c;进行增删改。 1.增加空白行 直接在页面mounted时对form里面的table列表增加一行数据&#xff0c;直接使用push() 方法增加一列数据这个时候也可以设置一些默认值。比如案例里面的 产品件数 。 mounted() {this.$nextTi…

[嵌入式 C 语言] 按位与、或、取反、异或

若协议中如下图所示&#xff1a; 注意&#xff1a; 长度为1&#xff0c;表示1个字节&#xff0c;也就是0xFF&#xff0c;也就是 1111 1111 &#xff08;这里0xFF只是单纯表示一个数&#xff0c;也可以是其他数&#xff0c;这里需要注意的是1个字节的意思&#xff09; 一、按位…

URI:URL、URN

名称解释&#xff1a; URI:统一资源标识符&#xff1b; URL:统一资源定位符; URN:统一资源命名符&#xff1b; URI、URL、URN关系 URI是URL和URN的超集,也就是说URI有两种方式&#xff0c;一种是URL一种是URN,不过URL的方式用的比较多。 看了一个视频&#xff0c;博主解释非…

xcode配置swift使用自定义主题颜色或者使用RGB或者HEX颜色

要想在xcode中使用自定义颜色或者配置主题色&#xff0c;需要在Assets中配置&#xff0c;打开Assets文件&#xff0c;然后点击添加Color Set&#xff1a; 输入颜色的名称&#xff0c;然后选中这个颜色&#xff0c;会出现两个颜色&#xff1a; Any Appearance表示亮色模式下使用…

基于uni-app与图鸟UI的知识付费小程序模板

一、项目概述 在知识经济蓬勃发展的背景下&#xff0c;移动互联网成为知识传播与消费的重要渠道。本项目旨在利用前沿的前端技术栈——uni-app及高效UI框架图鸟UI&#xff0c;打造一款集多功能于一体的、面向广大求知者的知识付费平台移动端模板。该模板旨在简化开发流程&…

【最强八股文 -- 计算机网络】【快速版】TCP 与 UDP 头部格式

目标端口和源端口: 应该把报文发给哪个进程包长度: UDP 首部的长度跟数据的长度之和校验和: 为了提供可靠的 UDP 首部和数据而设计&#xff0c;接收方使用检验和来检查该报文段中是否出现差错 源端口号和目的端口号: 用于多路复用/分解来自或送到上层应用的数据。告诉主机报文段…

轻松理解c++17的string_view

文章目录 轻松理解c17的string_view设计初衷常见用法构造 std::string_view常用操作作为函数参数 注意事项总结 轻松理解c17的string_view std::string_view 是 C17 引入的一个轻量级、不拥有&#xff08;non-owning&#xff09;的字符串视图类。它的设计初衷是提供一种高效、…

Web学习day03

maven&Mybatis 目录 maven&Mybatis 文章目录 一、maven 1.1作用 1.2仓库 1.3命令 1.4依赖范围 1.5生命周期 二、MyBatis 2.1简介 2.2API 2.3增删改的实现&案例 总结 一、maven 1.1作用 统一项目结构&#xff1b;项目构建&#xff1a;通过简单命令&a…

高阶面试-dubbo的学习

SPI机制 SPI&#xff0c;service provider interface&#xff0c;服务发现机制&#xff0c;其实就是把接口实现类的全限定名配置在文件里面&#xff0c;然后通过加载器ServiceLoader去读取配置加载实现类&#xff0c;比如说数据库驱动&#xff0c;我们把mysql的jar包放到项目的…

16. Revit API: Family、FamilySymbol、FamilyInstance

前言 前面写着一直絮絮叨叨&#xff0c;感觉不好。想找些表情包来&#xff0c;写得好玩点&#xff0c;但找不到合适的&#xff0c;或者说耗时费力又不满意&#xff0c;而自个儿又做不来表情包&#xff0c;就算了。 其次呢&#xff0c;之前会把部分类成员给抄表列出来&#xf…

昇思25天学习打卡营第15天|基于 MindSpore 实现 BERT 对话情绪识别

文章目录 昇思MindSpore应用实践1、基于 MindSpore 实现 BERT 对话情绪识别BERT 模型简介数据集数据加载和数据预处理 2、模型训练模型验证 3、模型推理 Reference 昇思MindSpore应用实践 本系列文章主要用于记录昇思25天学习打卡营的学习心得。 1、基于 MindSpore 实现 BERT…

FOLANNIC FD31 UPS工作原理介绍

1&#xff0e;1简介 FOLANNIC FD31系列UPS系工业级电厂型不间断电源&#xff0c;是为重要负载提供不受电网干扰、稳压、稳频的电力供应的电源设备&#xff0c;在市电掉电后&#xff0c;UPS可给负载继续提供一段时间供电&#xff0c;此系列UPS采用带输出隔离变压器的高频双变换结…

回收站删除了是不是彻底删除了 回收站删除了怎么找回 回收站删除了还能找回来吗

电脑删除的数据文件一般不会直接被彻底删除掉&#xff0c;而是会暂存在回收站中&#xff0c;这样设计主要是为了防止误删除等操作&#xff0c;如果不小心删除了很重要的文件&#xff0c;只需要在回收站对文件进行还原即可。为了让大家更了解回收站&#xff0c;下面给大家详细讲…

JavaWeb-js(4)

js事件 在前端页面中&#xff0c;js程序大多数是由事件来驱动的&#xff0c;当触发某些事件的时候&#xff0c;可以使用js负责响应。 js事件由三部分组成: 事件源——》指的是被触发的对象; 事件类型——》如何触发的事件&#xff0c;如:鼠标单击、双击、键盘操作等;…

【题目/算法训练】:单调队列单调栈

&#x1f680; 前言&#xff1a; 【算法】单调队列&&单调栈 可以在看完这篇文章后&#xff0c;再来写下面的题目 一、绝对差不超过限制的最长连续子数组 思路&#xff1a; 1&#xff09; 就相当于滑动窗口&#xff0c;维护滑动窗口内的两个值&#xff0c;一个是最大值…

CV05_深度学习模块之间的缝合教学(1)

1.1 在哪里缝 测试文件&#xff1f;&#xff08;&#xff09; 训练文件&#xff1f;&#xff08;&#xff09; 模型文件&#xff1f;&#xff08;√&#xff09; 1.2 骨干网络与模块缝合 以Vision Transformer为例&#xff0c;模型文件里有很多类&#xff0c;我们只在最后…

Flutter——最详细(Table)网格、表格组件使用教程

背景 用于展示表格组件&#xff0c;可指定线宽、列宽、文字方向等属性 属性作用columnWidths列的宽度defaultVerticalAlignment网格内部组件摆放方向border网格样式修改children表格里面的组件textDirection文本排序方向 import package:flutter/material.dart;class CustomTa…

Mac 上安转文字转 SQL 利器 WrenAI

WrenAI 是一个开源的 Text-SQL 的工具&#xff0c;通过导入数据库结构&#xff0c;通过提问的方式生成 SQL。本文将讲述如何在 MacOS 上安装 WrenAI。要运行WrenAI&#xff0c;首先需要安装 Docker 桌面版。 下载 WrenAI https://github.com/Canner/WrenAI/releases/tag/0.7.…

开源流程表单设计器都有哪些值得一提的优势?

如果需要提质、增效、降本&#xff0c;不妨来了解下低代码技术平台、开源流程表单设计器的功能和优势特点。想要实现流程化办公&#xff0c;低代码技术平台是助力增效的理想工具。功能灵活、操作方便、好维修、可视化操作等优势都是其深受行业喜爱的优势特点。通过本文&#xf…