VSCode 插件开发(三):插件打包与本地安装

前言

来啦老铁!

在上前两篇文章:VSCode 插件开发(一):Hello World
VSCode 插件开发(二):插件开发实践 中,我们一起学习了 VSCode 插件项目是如何创建、VSCode 插件的基础知识,以及尝试开发了一个稍微复杂点的插件,而今天我们在之前文章的基础之上,学习如何打包插件与本地安装插件~

主要参考文献:

学习路径

  1. 安装打包工具;
  2. 修改 README.md;
  3. 静态文件与 node_modues 文件夹处理;
  4. 打包插件;
  5. 安装插件;
  6. VSCode 中查看已安装的插件;
  7. 使用插件;
  8. 插件功能拓展;
  9. 安装包共享;
  10. 思考;

1. 安装打包工具;

  • 使用以下命令安装 VSCode 插件的专用安装工具:
npm install -g vsce

2. 修改 README.md;

  • 需要修改项目根目录下的 README.md 文件内容,删除 “This is the README for your extension” 这句话,如:
删除 README.md 中的文本
  • 然后才能正常打包,否者会出现以下错误:
打包报错

(我们暂且先不修改 README.md 文件的其他内容)。

3. 静态文件与 node_modues 文件夹处理;

  • 一些如 .txt、.json 文件等的静态文件可以在开发的时候放在根目录,如:
根目录

放在根目录,这样我们就不用额外去复制这些静态文件了,vsce package 命令会帮我们完成;

  • node_modues 文件夹在运行插件时有时候是必须的,特别是当有外部依赖的时候,则此时需要修改 package.json 文件内的内容,将 devDependencies 字眼改为 dependencies 即可,这一点非常重要,如:
dependencies

4. 打包插件;

  • 接下来我们开始打包我们的插件,使用命令:
vsce package
  • 看到 Done 字眼即可:


    打包插件
  • 我们能看到插件安装包路径为:/Users/dylan.z.zhang/Desktop/case2script/case2script-0.0.1.vsix

  • 也能在项目根目录下看到该安装包:


    根目录-安装包

5. 安装插件;

  • 使用如下命令安装我们打包好的插件,如:
code --install-extension /Users/dylan.z.zhang/Desktop/case2script/case2script-0.0.1.vsix
  • 或者类似:
code --install-extension ./speed-up-scripting-1.0.0.vsix

code --install-extension 后面带的就是步骤 3 生成的安装包文件路径;

安装插件
  • 安装完成后,我们会在 ~/.vscode/extensions 目录下看到我们安装好的插件目录,如:
插件 - 1
注:文件夹名上有个 undefined, 这是因为我们没有配置发布者的名字,如何配置呢?

a. 在 package.json 中配置 "publisher" 项即可,如:

publisher

b. 效果如下:

publisher 效果 1
publisher 效果 2
  • 安装好的插件文件夹内的结构:


    插件 - 2

6. VSCode 中查看已安装的插件;;

  • 插件安装完成后,我们就能在 VSCode 内看到我们的插件了,入口如下:
查看已安装的插件

注意:如果是更新,则需要重启 VSCode 或卸载插件并重装拆件以使用最新版本的插件;

7. 使用插件;

  • 在 VSCode 内看到我们的插件后,我们就可以用我们的快捷键或快捷菜单来执行我们的插件了;

例如我做了个简易的生成自动化脚本模板的插件(生成的自动化脚本,部分信息需要调用 API 从用例管理平台上获取,然后组装到模板中去,进而生成我们的自动化用例的初始代码);

  • 输入用例号;
启动插件
  • 自动调用 API 并组装自动化用例的初始代码;
自动生成自动化用例模板

8. 插件功能拓展;

  • 我还做了一个功能,那就是可以将配置文件清空的功能,以后如果有推广,方便适用于不同团队(当然,不同团队如果技术栈一样那就方便,如果技术栈或框架有差异,那么用例模板和插件逻辑是要重点维护的);
清空配置文件
  • 接着我们再触发自动生成脚本时就会多出以下几个问询:
API Endpoint - 问询
API Key - 问询
Case 前缀 - 问询

9. 安装包共享;

我们可以将打包出来的安装包发给其他人,其他人使用插件安装命令即可安装我们的安装包,进而达到共享的效果,此处不再演示;

由于该插件与公司内部平台紧密关联,不适合发布到网络上,因此我们就暂时不学习发布了。

10. 思考;

解决自动编写自动化脚本的问题,实际上从源头侧出发效果会更好,即规范化文本用例,如用例的前置条件描述、前置信息描述、用例步骤等,则“用机器自动写自动化脚本”才能发挥更多作用,但这个存在很多困难,如:

  1. 文本用例通常是人为编写的,要让所有人遵循一定的规则去写文本用例,这个本身就是比较困难的事情;
  2. 这样的规则通常也是难以制定的,因为产品功能迭代比较快速,文本用例描述规则可能也经常会发生变化;
  3. 当有较多的规则需要遵守时,插件需要做很多定制化的功能,有时新增规则或规则发生变化,则插件开发完成后,可能脚本都写完了或者反而效率更低;
  4. 过往有些大神们还特意为写脚本创建平台,通过平台组装出用例,实践到最后发现维护这些规则本身就需要耗费非常多的精力,得不偿失~
  5. ...
因此,我个人更倾向于根据团队、项目的实际情况,在一些底层范围上做这种插件功能以提升工作效率,这样的插件具有通用性,维护量非常小,“用机器半自动写自动化脚本” 也还是可以的~

后续我就可以在这个插件上多下一些功夫,多增加一些通用功能,如文本用例版本对比等功能,以期在编写自动化脚本的各个环节提升工作效率~

这只是我的初次尝试,很多功能还有待研究,后续继续加油~

能力有限,欢迎指正、互相交流,感谢~

如果本文对您有帮助,麻烦点赞、关注!

感谢~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容