首页 > 其他分享 >一起来写 VS Code 插件:为你的团队提供常用代码片段

一起来写 VS Code 插件:为你的团队提供常用代码片段

时间:2022-12-12 11:36:56浏览次数:63  
标签:插件 Code 创建 json VS snippets

前言

VS Code 是前端开发者最佳的开发工具,你在开发中是否疲倦了从一个文件拷贝来新建一个文件呢?或者在你的团队内部是否有一些内部组件库,比如 Ant Design、 React hooks 等组件库,团队内部伴随开发的也一直打开组件相关文档?

其实我们可以开发一些常用的代码片段(Snippets)供团队内部使用。当输入前缀的时候就会触发智能提示。

一起来写 VS Code 插件:为你的团队提供常用代码片段_开发者

推荐

首先推荐几个前端常用 Snippets 插件

  • ​​ES7 React/Redux/React-Native/JS snippets​​ React 开发者常用
  • ​​antd-snippets​​
  • ​​vetur​​ vue 开发者推荐, 语法高亮,智能提示,emmet,错误提示,格式化,自动补全,debugger。VS Code 官方钦定Vue插件,Vue开发者必备。
  • ​​Vue 3 Snippets​​
  • ​​element-ui-snippets​​

一般常用的组件库在 VS Code 搜索就会得到。

最近 VS Code 发布了网页版 ​​vscode.dev/​​ 当时上面的 snippets 在网页版中往往不支持,其实是上面的这些插件包含了其他一些非代码提示的功能,如果是纯 snippets 在网页版也是支持的。

开发

接下来就要开发团队内部 VS Code 插件了,打开 VS Code API 的​​官网​​, 引入我们眼帘的是

npm install -g yo generator-code

首先全局安装脚手架,安装完成后,在命令行中输入

yo code

一起来写 VS Code 插件:为你的团队提供常用代码片段_开发者_02

选择 ​​New Code Snippets​

一起来写 VS Code 插件:为你的团队提供常用代码片段_Code_03

输入一些基础信息后项目就创建成功了。

创建代码片段

有一个网站可以帮助我们快速的创建 code snippet ​​snippet-generator.app/​​

一起来写 VS Code 插件:为你的团队提供常用代码片段_开发者_04

左边输入代码,右侧就会生成 snippet 模板,拷贝到项目中的 ​​snippets.code-snippets​​ 文件下的 JSON 对象中

一起来写 VS Code 插件:为你的团队提供常用代码片段_json_05

其他 hooks 可以继续添加到 JSON 对象中,

如果想在让 typescript javascriptreact 也支持,可以在package.json 中的 contributes 字段指定4份 snippets;

"snippets": [
{
"language": "javascript",
"path": "./snippets/snippets.json"
},
{
"language": "javascriptreact",
"path": "./snippets/snippets.json"
},
{
"language": "typescript",
"path": "./snippets/snippets.json"
},
{
"language": "typescriptreact",
"path": "./snippets/snippets.json"
}
]

点击调试就可以在本地调试了

一起来写 VS Code 插件:为你的团队提供常用代码片段_json_06

到此已经开发结束,如果不发布的话可以把 snippets 直接指定到本地目录下,打开 user snippets 配置面版,将 json 拷贝进去 就可以在 vscode 中使用了,也可以在网页版 ​​vscode.dev/​​ 使用

一起来写 VS Code 插件:为你的团队提供常用代码片段_Visual Studio Code_07

发布

  1. 第一步先安装 vsce
npm install vsce -g
  1. 第二步创建账号

首先访问 ​​login.live.com/​​ 登录你的Microsoft账号,没有的先注册一个,然后访问: ​​aka.ms/SignupAzure…​​ ,如果你从来没有使用过Azure,那么就要先创建一个Azure DevOps 组织,默认会创建一个以邮箱前缀为名的组织。

一起来写 VS Code 插件:为你的团队提供常用代码片段_json_08

  1. 第三步进入组织创建令牌

一起来写 VS Code 插件:为你的团队提供常用代码片段_开发者_09

点击右上角的用户设置,点击创建新的个人访问令牌

一起来写 VS Code 插件:为你的团队提供常用代码片段_开发者_10

注意 这里的 organizations 必须要选择 ​​all accessible organizations​​​,Scopes 要选择 ​​full access​​,否则后面发布会失败。

一起来写 VS Code 插件:为你的团队提供常用代码片段_Code_11

创建 token 成功后你需要本地记下来,因为网站是不会帮你保存的!!!

  1. 第四步 创建一个发布者

发布者是 visualstudio 代码市场的扩展的唯一身份标识。每个插件都需要在 ​​package.json​​ 文件中指定一个 publisher 字段。

你可以通过 visualstudio 插件市场​​发布者管理​​页面创建一个新发布者, 然后使用 ​​vsce login <publisher name>​​ , 输入刚才的 token,登陆成功。

一起来写 VS Code 插件:为你的团队提供常用代码片段_Visual Studio Code_12

  1. 第五步发布插件
vsce publish

发布成功后可能需要一两分钟,才可以在 VS Code 中搜索到,可以直接通过 url 访问

​​marketplace.visualstudio.com/items?itemN…​​.

也可以使用以下命令 取消发布

vsce unpublish (publisher name).(extension name)

最后

本文对于开发者来说没什么技术难度,主要从一个 code Snippets 的角度出发来帮助团队,从而提高效率,主要是熟悉一下发布一个 VS Code 插件的流程,后续我会从一个实例的角度介绍下如何开发一个 VS Code 插件。

希望这篇文章对大家有所帮助,也可以参考我往期的文章或者在评论区交流你的想法和心得,欢迎一起探索前端。

标签:插件,Code,创建,json,VS,snippets
From: https://blog.51cto.com/u_15757429/5929277

相关文章

  • fluentd中,sample输入插件的作用是什么?
    in_sample输入插件的作用是什么? sample输入插件,用来产生样本事件。主要用于:测试,调试,和压力测试。这个插件,包含在fluentd的核心代码中sample是由dummy插件而......
  • QTconsole控制台不显示和exited with code -1073741510问题
      新建了一个qtconsole(控制台)小项目,目的是在控制台输出helloworld。但是输出的位置不在控制台。 通过勾选Runinterminal  但是出现了exitedwithcode......
  • CodeUtil【随机字符串工具类】
    packagecom.Lucky.Util;importjava.util.ArrayList;importjava.util.Random;/***自定义的随机字符串工具类*/publicclassCodeUtil{//方法pub......
  • AtCoder 问题乱做集1
    AGC014D BlackandWhiteTree*2266题目大意:两个人在$n$个节点的树上交替染色,先手染白色,后手染黑色。若染完之后有白点不与黑点相邻则先手胜,反之后手胜。求这棵树......
  • 如何实现ignite的安全插件(security plugin)
    Ignite可以实现自定义的安全插件,以下实现在2.13.0测试可行。1.如何实现自定义的安全插件第一步:需要定义一个提供插件的类,它会被IgniteKernal在启动时调用,主要实现的是cre......
  • 用Visual Studio Code和码云 管理代码--【初级全解】2019-11-01
    准备内容​​注册码云(Gitee)​​​,创建一个项目,得到项目url:​​https://gitee.com/cplvfx/CPUIAdmin​​​​下载git​​安装,全都按下一步就行了。​​下载VSCode​​......
  • [笔记]Volatility 取证工具使用以及Hollow插件使用
    ​​Volatility内存取证使用​​文章目录​​前言​​​​环境​​​​使用Dumpit生成内存镜像​​​​使用VMware的内存镜像​​​​安装Volatility​​​​使用HollowFind......
  • #yyds干货盘点# LeetCode程序员面试金典:回文链表
    题目:编写一个函数,检查输入的链表是否是回文的。 示例1:输入:1->2输出:false示例2:输入:1->2->2->1输出:true代码实现:classSolution{publicbooleanisPalindrome(L......
  • 题解 CodeForces 940E Cashback
    1.题面描述题目链接给定长为\(n\)的序列和一个整数\(c\),你需要将其分为若干段。对于每一段,若其长度为\(k\),则可以删除其中前\(\lfloor\frac{k}{c}\rfloor\)小的......
  • vb6怎么调用大漠插件
    首先下载大漠插件,版本是3.1233  https://wwon.lanzout.com/iNl8Xhfx75c打开vb6引用dm.dll创建两个变量 dimdm,ver鼠标点击事件PrivateSubCommand1_Click()v......