vscode插件都能做哪些事情

539 阅读2分钟

「这是我参与2022首次更文挑战的第24天,活动详情查看:2022首次更文挑战」。

随着前端走入深水区, ide 也是非常重要的提效环节,vscode 一统江湖,我们可以通过插件去进行二次开发。那么 vscode 插件到底能做哪些事情,我们一起来看看。

首先我们熟悉下 vscode 插件模版项目的基础文件。launch.json 用来设置debug内容;extension.js 是插件的入口文件;package.json 新增了一个新职责,扩展清单,就是静态管理插件可用的功能。

packagejson 新增的有 publisher, activationEvents, contriutes 等等。可以关注以下几个常用的选项:

  • name 和 publisher: <publisher>.<name> 就是插件的唯一标识
  • main: 扩展的入口文件
  • activationEvents 和 contribue
  • engines.vscode:指定 vscode 的版本

这里要说一下 vscode 的入口文件,里面有俩常用的函数,activate 和 deactivate, activate 执行的时机是注册的 activationEvents 被触发的时候, deactivate 用来做一些数据清理工作,执行的时机是 vscode 关闭,或者插件卸载或者不可用。

vscode 插件可以做以下这些事情:

  • 注册命令、配置
  • 存储工作空间或者全局数据
  • 展示通知信息
  • 收集用户输入
  • 选择文件
  • 利用进程 api 进行一些长期的任务
  • 定制主题,如改变代码的颜色,改变 vscode 的颜色,增加文件 icon 等
  • 定制语言特性,用来扩展工作台的 ui,也可以用前端技术重新定义整个展示的界面。如新增一门语言支持,新增语法支持,扩展已有的语法,展示一些语法错误等等
  • 工作台扩展,如给文件查找增加一些选项、在侧边栏开发一个特定的功能、在状态栏展示一些特新的信息、渲染一些特定的 ui 等等
  • debug,vscode 提供一个 bug 扩展 api,你可以开发一些更为丰富的 debug 功能

可以看到 vscode 支持的功能非常丰富,我们可以基于 vscode 开发出一个足够定制化的应用。