在近期公司实行的正版化政策下,我原本使用的JetBrains教育版IDE因商业开发限制而无法继续使用,这迫使我踏上了寻找替代IDE的探索之旅。经过一番比较,最终我决定采用轻量级的Visual Studio Code(以下简称VS Code)作为新的开发工具。
关于各种IDE的对比分析,这里不再详细展开,包括Eclipse、NetBeans、Spring Tools Suite等,每个选择都有其独特的优势,适合不同的开发需求。
众所周知,VS Code是一款轻量级的通用编辑器,其功能主要依赖于丰富的插件扩展。然而,网络上大多数关于VS Code插件的推荐文章都是针对前端开发人员的,这对于其他类型的开发者来说并不完全适用。
面对这一挑战,我不得不逐一尝试各种插件,经历了一轮又一轮的筛选过程,最终成功筛选出几十款适合我的插件。
虽然筛选出了所需的插件,但手动安装几十个插件显然既繁琐又不便于维护。
幸运的是,VS Code提供了一个名为Extension Pack的插件功能,专门用于将多个插件集合在一起。安装一个Extension Pack即可自动安装包内的所有插件,大大简化了安装过程。

VS Code提供了一套基于nodejs的工具,用于辅助开发者创建扩展。官方文档中提供了详尽且易于理解的说明以及丰富的samples,包括Command、Color Theme、Tree View等,本文将以此为基础,展示如何创建一个Extension Pack。
在开始之前,确保已经安装了nodejs和Git。以MacOS为例,可以通过Homebrew安装nodejs:
然后,通过npm安装Yeoman和VS Code Extension Generator:
使用Yeoman生成一个新的Extension Pack
在生成过程中,系统会询问是否要将当前已安装的扩展安装到新的Extension Pack中。如果选择Yes,可能会遇到错误提示。
这是因为我的VS Code并不是通过命令行安装的,如果需要使用code命令,就需要通过命令行安装VS Code,然后重新执行yo code命令。
在MacOS上,可以通过Homebrew安装VS Code:
brew cask install visual-studio-code
当然,也可以选择不自动安装已有扩展,同样可以顺利进行后续的配置。
通过Yeoman工具,我们配置了name、identifier、description等基本信息,并且工具自动生成了一个本地git仓库。工程目录结构如下:
- CHANGELOG.md:用于发布变更记录,在Visual Studio Code Marketplace的详情页中有该文件的链接。
- README.md:在Visual Studio Code Marketplace的扩展详情页中,作用类似于GitHub Page。
- package.json:扩展的manifest文件,定义了扩展的相关属性。
- vsc-extension-quickstart.md:针对生成的工程中文件的简易说明文档。
作为Extension Pack类型的VS Code扩展,只需要维护package.json文件即可。该文件中的各项字段可以参考VS Code的官方文档Extension Manifest。
微软关于插件打包发布的详细说明可以参考文档Publishing Extensions。
微软提供了vsce这款命令行工具,方便开发者进行打包和发布:
安装完成后,cd到工程目录下,进行打包生成.vsix文件
注意版本号,应根据package.json文件中的version字段来设置,version必须是major.minor.stage的格式。
package成功后,需要去VS Code创建一个publisher。推荐通过浏览器访问management page创建,这样更加直观。
也可以通过vsce命令行创建,具体操作详见Create a publisher。
有了publisher后,就可以进行publish操作了。同样,在management page页面,通过上传.vsix文件的方式即可。当VS Code校验通过后,扩展就会发布到Visual Studio Code Marketplace。
publish操作同样可以通过vsce命令行进行,具体操作详见Log in to a publisher。
插件安装完成后,还是需要逐一去配置调试的,这个无法自动化,毕竟各人的喜好不同。不过,大多数插件都是开箱即用的。
作为开源的轻量级通用编辑器,VS Code的Java开发体验确实不如JetBrains,但和Eclipse一样,胜在开源免费,所以还是可以满足基本需求的。
