vscode 开发代码片段插件

环境准备

  • node - 20v版本 ,推荐使用nvm进行版本控制
  • 全局安装 "yo" 是 Yeoman 工具的命令行工具, npm i yo -g
  • 全局安装 generator-code 是一个 Yeoman 脚手架 gernerator-code npm i gernerator-code -g
  • 全局安装 npm install -g vsce
  • 官方文档 Publishing Extensions | Visual Studio Code Extension API

账号准备

  1. 点击 Visual Studio Team Services,点击最上方立即注册,注册自己的账号,可以用GitHub账号直接登录。
  2. 登录后新创建一个组织 

        3.在该组织下继续创建一个项目(建议插件名字和项目名字保持同步)

上述步骤完成后再去获取token

点击 

New Token,注意这里创建token一定要下拉选择 all accessible organizations,然后点击右下角的 Show all scopes 找到 Marketplace 选择 Manage。

点进后将显示的token储存起来

完成后接下来需要去注册成vscode开发者 https://aka.ms/vscode-create-publisher

注册完成后点击创建,保持ID和name和我们项目的名称一致即可。

项目初始化

然后返回到 Azure DevOps Services | Microsoft Azure中点击创建的项目,进行项目初始化

如果无法完成请求,则使用生成git凭证,在vscode输入密码即可

此时,已经在vscode中已经有一个容器了。

接下来进行项目搭建

项目搭建

输入 yo code 选择 new code snippets的模板,其他按照截图来即可生成项目了。

可以在snippets 中写入我们的代码片段,然后执行

vsce package 即可打包生成.vsix 文件了,如果是本地使用则不需要发布到市场插件

发布到市场插件的流程

继续执行 vsce publish -p your-personal-access-token 首次发布需要输入 之前储存的token然后等待完成发布即可 https://marketplace.visualstudio.com/manage/publishers

1.打包遇见了 提示 WARNING LICENSE, LICENSE.md, or LICENSE.txt not found

解决方案: Choose an open source license | Choose a License 复制一份许可证即可

拓展延伸。

常规的添加方法需要在 snippets 中添加代码片段,再去 package.json 中进行添加,这样在我们代码片段多的时候就特别麻烦,需要一直去添加。

优化方案

优化方案

1.在根目录下创建一个文件 generateSnippetsConfig.js

const fs = require("fs");
const path = require("path");// 获取 snippets 目录下所有 .code-snippets 文件的绝对路径
const snippetFiles = fs.readdirSync("./snippets")const snippetsConfig = snippetFiles.map((file) => {const language = "javascript";const pathFile = "./snippets/" + fileconsole.log(language,'snippetFiles')return {language: language,path:pathFile,};
});// 读取并更新 package.json
const packageJsonPath = "./package.json";
const packageJson = require(packageJsonPath);// 添加或更新 snippets 配置
if (!packageJson.contributes) packageJson.contributes = {};
if (!packageJson.contributes.snippets) packageJson.contributes.snippets = [];
packageJson.contributes.snippets = snippetsConfig
// 写回 package.json
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), "utf-8");

2.改造package.json 添加运行命令

3.执行 generate-snippets 即可自动将 snippets的代码片段自动注入到package.json中

4.执行 build 继续进行打包

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【解决(几乎)任何机器学习问题】:处理分类变量篇(下篇)

接【解决(几乎)任何机器学习问题】:处理分类变量篇(上篇)http://t.csdnimg.cn/rnzto 这篇文章相当长,您可以添加至收藏夹,以便在后续有空时候悠闲地阅读。 让我们看看填⼊ NaN 值后 ord_4 列的值…

用python绘制黄金价格变化曲线

首先你得从mt4把数据导出为csv:mt4如何导出数据-CSDN博客 1、引入必要的库 import numpy as np import pandas as pd import matplotlib.pyplot as plt 2、然后通过pandas载入csv数据 raw pd.read_csv("XAUUSDm1.csv", headerNone, index_colNone, p…

[工具探索]VSCode介绍和进阶使用

相比较GoLand、PhpStorm、PyCharm、WebStorm的重量级内存占用,从Windows系统来,各种卡死,换到MacOS倒不会卡死,但是内存占用太多,影响体验,决定换到VSCode。当然这个过程需要适应过渡期,旧伙计都…

怎么把照片缩小到200k?图片压缩这样做

怎么把照片缩小到200k?在日常生活中,将图片压缩到200K可以让我们轻松地将图片上传到社交媒体平台,而不会因为图片过大而导致上传失败。还可以减少存储空间占用,让我们可以保存更多的图片而不用担心手机或电脑存储空间不足。因此&a…

WebRTC最新版报错解决:FileNotFoundError: LASTCHANGE.committime (二十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

LeetCode 0590. N 叉树的后序遍历:深度优先搜索(DFS)

【LetMeFly】590.N 叉树的后序遍历:深度优先搜索(DFS) 力扣题目链接:https://leetcode.cn/problems/n-ary-tree-postorder-traversal/ 给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。 n 叉树 在输入中按层序遍历进行序列化表…

51_蓝桥杯_独立按键

一 电路 注意:J5跳帽接到2~3引脚,使按键S4-S5四个按键的另外一端接地,从而成为4个独立按键。 二 独立按键工作原理 三 代码 代码1:按下S7点亮L1指示灯,松开按键,指示灯熄灭,按下S6点亮L2指示灯…

Spring Boot与LiteFlow:轻量级流程引擎的集成与应用含完整过程

点击下载《Spring Boot与LiteFlow:轻量级流程引擎的集成与应用含完整过程》 1. 前言 本文旨在介绍Spring Boot与LiteFlow的集成方法,详细阐述LiteFlow的原理、使用流程、步骤以及代码注释。通过本文,读者将能够了解LiteFlow的特点&#xff…

【动态规划】【字符串】2167移除所有载有违禁货物车厢所需的最少时间

作者推荐 【深度优先搜索】【树】【有向图】【推荐】685. 冗余连接 II 本文涉及知识点 动态规划汇总 LeetCode2167移除所有载有违禁货物车厢所需的最少时间 给你一个下标从 0 开始的二进制字符串 s ,表示一个列车车厢序列。s[i] ‘0’ 表示第 i 节车厢 不 含违…

前端|Day2:列表、表格、表单(黑马笔记)

Day2:列表、表格、表单 目录 Day2:列表、表格、表单一、列表1.无序列表2.有序列表3. 定义列表 二、表格1.基本使用2. 表格结构标签(了解)3.合并单元格 三、表单1.input 标签2.input 标签占位文本3.单选框4.上传文件5.多选框6.下拉菜单7.文本域8.label 标…

DS:循环队列的实现

创作不易,给个三连吧!! 一、前言 对于循环队列,博主也是源自于一道力扣的OJ题 力扣:循环队列的设置 后来我在网上查过,这个循环队列是有自己的应用场景的!!并不是出题者为了出题…

【数据分享】2014-2024年全国监测站点的逐时空气质量数据(15个指标\Excel\Shp格式)

空气质量的好坏反映了空气的污染程度,在各项涉及城市环境的研究中,空气质量都是一个十分重要的指标。空气质量是依据空气中污染物浓度的高低来判断的。 我们发现学者王晓磊在自己的主页里面分享了2014年5月以来的全国范围的到站点的逐时的空气质量数据&…