一、前言% X' L/ n- K- A' @8 B) U# z6 h
本文为vscode插件——code snippets开发的踩坑笔记,旨在提供一个快捷有效的方式打造一款自己的vscode插件。上手不难,但是就是坑比较多,为了避免更多人踩坑,于是写文避坑。本文针对新手,楼主也是花了半天时间上手去踩坑的。文末有github仓库地址,码友们可以直接clone下来当作以后code snippets插件的模板。0 i. t( A* b0 h 二、环境准备 A. n+ b; y8 G2 r; o
node
npm
yeoman sudo npm i yo -g
gernerator-code sudo npm i gernerator-code -g 6 i; n1 I6 {. y/ Q2 g
三、开发者账号申请: [7 E+ ?, @' ~3 `
点击 Visual Studio Team Services,点击最上方立即注册,注册自己的账号,可以用GitHub账号直接登录。7 N( Q. R- T c: j3 e
1.注册并登录 Azure DevOps。5 k, b- e8 C7 | k: C5 k
2.选择或者创建一个组织(new organization)。0 d5 v# u$ m* x" I9 t
3.在该组织下创建一个项目(new project)。 " V: y. h2 i* E4 I6 r, E( H 以上三步都是为了获取开发者(publisher)的token,获取token如下图:- t" a N& u: d* {# a
* u/ U, a+ m d3 ~( Y7 d, ?7 y$ c
4. 点击 New Token,注意这里创建token一定要下拉选择 all accessible organizations,然后点击右下角的 Show all scopes 找到 Marketplace 选择 Manage。* b) o U2 {+ H# k, A 1 Z8 n8 w+ y" [5. 注册vscode插件开发者(publisher):点击此处。注册保证name和id一致,并且只需要填写这两个就可以了。; Q2 t+ Q d% W" r 三、项目搭建 + v# P( W6 e' u: h1 F1 \1、项目初始化 ' w$ K; J( j3 j. e7 a5 |; k8 F
终端输入 yo code。
选项如下设置:language选择javascript,名称就是你扩展的名称。 & H8 A! x" Y& A7 X1 y5 T8 O3 x7 m. T
: o0 v/ j+ g6 A4 u2 j
2、项目改造! y$ `$ Y, Q* ]0 x( K' J& I5 C
将项目文件夹yc-charts-code-snippets(你的扩展名字的文件夹)拖到vscode中打开。做以下改造: 3 a. b/ Q, l* c6 C; } G2 E1.将package.json改造成以下模样:2 f. _% b: H, o* Y4 i. |
上面的代码片段是我自己封装的组件用法的示例代码。${1:treeConfig} 表示的是tab键会跳转的语句,数字代表跳转的顺序,注意:冒号后面没有空格。 y& p' N4 W V6 M" ] 四、调试 6 F }( X p9 Y7 l" M' e' h 单纯的开发代码片段的话测试和调试都非常简单:3 Y" |. N S) L# U! Q% _
首先先自定义全局的code snippet。 / p" W T6 b+ n9 C2 c2 L0 X" V
6 f C7 D3 ?, E' @/ q
选择新建全局代码片段文件。 & C+ Z& [' G" D) w& i8 D
8 c& l, c- `" v& K
创建完文件名后会得到如下示例代码,放开example下面的代码即可测试。" Y% K/ o r D4 \; B. r
' z5 F' m( e* b' f6 z
command + shift + D 打开调试模式。
点击 Extension 旁边的绿色三角形,打开扩展开发宿主。
在扩展开发宿主中创建适合的文件类型如:test.js。
测试自己的写的 prefix 即可。这里我生成的代码片段是自己封装的组件的示例代码。: i$ A c- `0 @6 U3 a1 P