手把手教你写一个vscode插件

9,332 阅读3分钟

前言

vscode 是一款由微软开发且跨平台的免费源代码编辑器。它支持代码自动补全、语法高亮等功能,而且还内置了命令行工具,被认为是最受欢迎的前端开发工具。

开发中有时候会遇到一些重复性高,且较为繁琐的一些操作。这个时候有一个契合问题需求的提效插件就显得尤为重要。开发一个插件并不难,难的是大家对未知的恐惧。下面就来一起编写一个vscode插件吧。

注册账号

1.浏览器输入 login.live.com/ 登录你的Microsoft账号,如果没有的先注册一个,如图所示:

image.png

2.登陆成功之后,输入 aka.ms/SignupAzure… 访问AzureDevOps,如果没有访问过就会出现如下提示:

image.png

点击Continue按钮,默认会创建一个以邮箱前缀为名的组织。

3.点击右上角User settings,然后点击 Personal access tokens,如图所示:

image.png

4.点击创建新的个人访问令牌,如图所示:

111.jpg

特别注意: Organization要选择all accessible organizationsScopes要选择Full access,否则后面发布插件会报401错误。

5.创建令牌成功之后,自行copy到一个地方记录下来,如图所示:

123456.jpg

6.访问 marketplace.visualstudio.com/manage 创建发布账号,如图所示:

image.png

配置开发环境

1.首先要安装一个脚手架工具yeoman,通过yeoman来创建代码模板:

npm install -g yo
npm install -g generator-code

2.然后创建你的插件项目:

yo code extensionProject

3.选择插件开发模板,这里选JavaScript,输入插件名称、定义、描述、包管理工具,如图所示:

image.png 项目初始化完成。

七个插件模板:

  • 前两个是通过编程来提供插件功能,你可以选择 TypeScript 或者 JavaScript;

  • 第三个是主题插件,可以将创建的主题分享给其他人;

  • 第四个是语言支持,也就是语法高亮、语言定义等;

  • 第五个是代码片段的分享;

  • 第六个则是分享快捷键;

  • 第七个就是对多个插件进行组合分享。

4.目录结构:

结构.png

编码

1.在extension.js中实现核心逻辑:

code-snapshot (1).png

2.在package.json中配置对应的信息:

code-snapshot (1).png

配置说明:
name: 项目名
displayName: 插件名
description: 插件描述
version: 版本号
publisher: 发布者id
author: 作者
engines>vscode: vscode版本
categories: 类别
activationEvents: 扩展的激活事件
main: 主入口
contributes>commands: 配置命令
contributes>keybindings: 配置快捷键

3.按下F5键,打开插件调试功能,按下快捷键cmd+shift+d,选中的代码中所有的console.log被清除。效果如下:

test.gif

发布

1.本地打包

  • 安装vsce
npm i vsce -g
  • 打包成vsix文件
vsce package
  • vscode中导入,如图所示:

image.png

或者使用如下命令安装插件:

code --install-extension /xxx/your.vsix(你本地的插件路径)

2.发布到vscode应用市场

  • vsce 登陆
vsce login [publisherName]
  • 然后输入之前获取的个人访问令牌
  • 执行发布命令:
vsce publish

几分钟之后,就可以在插件市场搜到自己发布的插件了~