前言
Visual Studio Code(简称 VSCode)目前已经成为了大多数前端开发人员的标配IDE了,之所以有这么多开发者使用这款软件,我想最大的原因之一就是它的扩展系统。拥有了扩展系统,就能够DIY出属于自己的IDE,能够提升我们的开发效率,提升我们开发时的体验。
快速上手
安装:
npm install -g yo generator-code
我们首先使用npm安装官方提供的脚手架
yo code
# ? What type of extension do you want to create? New Extension (JavaScript)
# ? What's the name of your extension? HelloWorld
### Press <Enter> to choose default for all options below ###
# ? What's the identifier of your extension? helloworld
# ? What's the description of your extension? LEAVE BLANK
# ? Initialize a git repository? Yes
# ? Which package manager to use? npm
code ./helloworld
这里我们使用选择New Extension
和vscode扩展相关的定义我们会在package.json中声明
extension.js就是我们扩展的入口文件,在这里我们去定义一些命令。
创建命令
我们按住 commond + shift + p 就用调用出vscode的命令输入框,在这里我们可以执行一些列的已经定义好的命令,那么命令要如何创建呢?我们用一个最简单的Hello World的输出作为展示。
成功定义一条命令,需要三个前置条件:
绑定命令,确保我们能够执行
在package.json的activationEvents中,定义我们的命令ID,每一条命令都有一个ID,在这里就是 extension.helloWorld
定义命令名称,方便在命令输入框中搜索到命令
在package.json contributes.commands 中去关联命令ID和名称
注册命令函数,命令的执行程序
在入口文件中的activate方法中,我们注册了extension.helloWorld这条命令,当这条命令执行的时候,我们弹出消息框。
启动本地的调试功能,就可以测试我们写的Extension,他会启动一个新的vscode窗口,我们在命令行中输入Hello World可以看到
至此我们的扩展就开发完成。
代码片段补全
为了提升开发效率,我们希望输入一些关键字,vscode自动帮助我们补全所以的代码,举个🌰
输入map
// 自动联想
Array.map((item, index) => {
return {
// 返回的内容
}
})在package.json中 contributes.snippets 中,配置我们代码片段的指定语言和路径
snippets.javascript.json
{
"map":{
"prefix": "map",
"body": [
"${1:Array}.map((item, index) => {",
"return {",
"// return 内容",
"}",
"})"
],
"description": "map方法的代码片段"
}
}
prefix:指定前缀
body:我们自动填充的代码片段
description: 代码片段的描述
接下来,我们启动调试,看一下效果
标签自动补全
我们来实现一个 auto-close
language-configuration.json
{
"autoClosingPairs": [
{
"open": "<div>",
"close": "</div>"
},
{
"open": "<p>",
"close": "</p"
}
],
"autoCloseBefore": ">` \n\t",
}
结语
VS Code 还提供了非常多的API和配置方案供我们使用,感兴趣的同学可以去官网了解详情。掌握了这些,我们就能够实现属于自己的VS Code。