插件系统对 VSC 至关重要。
为什么 ?
在早期的版本中 VSC 并没有插件系统,只支持 TypeScript、JavaScript和C#的智能感知, 还有其余40种语言的代码着色。
所以 VSC 只是出现在微软技术的社区中。15 年 12 月份,VSC 发布了第一个支持扩展的版本。
不久之后就出现了许多其他语言的支持,比如 Go 语言、C 、Java、Python、Ruby。
所以说有了核心编辑器的极速体验,加上良好的扩展能力才成就了 VSC。
语言支持VSC 制订了一套完善的语言支持体系,方便支持新的编程语言。
一个代码编辑器需要哪些功能来支持一种新语言?
- 代码显示代码着色
- 智能感知代码提示代码跳转鼠标触碰提示查找引用错误提示
- 代码修改自动补全重构功能
可以简单地将 TextMate 的语言着色配置文件拷贝到插件中,并在 package.json 中指定即可。
语言支持通用协议VSC 约定了一种通用的通信协议来支持多种语言
由于 VSC 采用多进程的架构,语言的开发者可以使用自己熟悉的语言编写这门语言的语言服务,VSC 将采用 JSON-RPC 通信的方式跟语言服务沟通,执行用户命令,获取结果。
Debugger同语言服务类似,VSC 开放了一组通用协议来满足不同语言不同平台的调试需求。
主题/配色方案VSC 采用了跟 TextMate 相同的配色方案文件格式。
编辑器辅助VSC 提供了编辑器操作 API,你能够实时获取用户输入点、当前文件代码。从而可以根据用户当前文档确定可以提供的快捷操作。比如自动添加不存在的方法等。
扩展命令开发者可以在插件中定义自己的命令,这些命令会出现在“命令面板” 中,开发者可以通过 ctrl/cmd shift p 或 F1 来调用这些命令,完成复杂的操作。
插件可以使用所有的 NodeJS API,配合各种 NodeJS 库,能够完成非常有想象力的功能。
扩展菜单VSC 提供了文件管理器菜单,编辑器菜单,文件标题菜单扩展点。方便开发者针对不同的上下文进行操作。
快捷键开发者可以为各种自定义操作指定快捷键。
VS Code 插件开发VSC 插件开发文档: https://code.visualstudio.com...
Wing 插件开发文档: http://developer.egret.com/cn...
VSC 插件在实际项目中的运用利用 VSC 插件,我们可以为项目定制一些效率工具, 比如:
- MyStock 一键下载翻译插件
这个是我写的快捷下载翻译资源的插件。
- WMS 翻译自动生成插件
隔壁项目的, 快捷生成翻译key的插件: