把VS Code打造成Java开发IDE,也挺爽!
发布于 2021-05-08 12:39 ,所属分类:JAVA工程师开发学习资料
大家好,我是鸭哥。
近期,公司推行正版化,本人使用的是JetBrains教育版,是不允许进行商业开发的,因此开启了艰难的备用IDE选型之路。最终,我选定了轻量级的Visual Studio Code(以下简称VS Code)。
各种IDE选型比较的过程就不赘述了,Eclipse、NetBeans、Srping Tools Suite等等,只能说青菜萝卜各有所爱。
插件淘沙
众所周知,VS Code是一款轻量级的通用编辑器,和Eclipse一样全靠海量的插件扩展,网上各类插件推荐文章又都是面向VS Code的最大IDE用户群-前端开发人员的。
无奈之下只能逐一试验,又开始了一轮插件淘沙的过程,最终筛选出几十款插件,详见
https://github.com/larva-zhang/vscode-java-dev-tools-pack/blob/master/README.md
定制Extension Pack
插件是筛选出来了,但是几十款插件总不能每次都一个一个去点击安装吧,而且也难以维护。
幸而VS Code自身提供了一种叫Extension Pack的插件,这种插件的目的就是为了汇集一批插件到一起而设计的,安装了一个Extension Pack就会自动安装Pack内的全部插件。
VS Code提供了一套nodejs工具用于辅助开发者创建扩展,同时官方文档中提供了简单明了的文档说明以及丰富的samples,samples包括Command、Color Theme、Tree View等等,本文仅做Extension Pack的示例。
环境准备
环境依赖 nodejs 以及 Git,以MacOS为例,通过Homebrew安装:
brew install node git然后通过 npm 安装Yeoman和VS Code Extension Generator:
npm install -g yo generator-code工程初始化
调用Yeoman生成新的Extension Pack
$ yo code_-----_ ╭──────────────────────────╮| | │ Welcome to the Visual │|--(o)--| │ Studio Code Extension │`---------´ │ generator! │( _´U`_ ) ╰──────────────────────────╯/___A___\ /| ~ |__'.___.'__´ ` |° ´ Y `? What type of extension do you want to create?New Extension (TypeScript)New Extension (JavaScript)New Color ThemeNew Language SupportNew Code SnippetsNew Keymap❯ New Extension PackNew Language Pack (Localization)
回车后会提问是否要将当前已安装的扩展安装到新的Extension Pack中,选择Yes会报错
? What type of extension do you want to create? New Extension Pack? Add the currently installed extensions to the extension pack? YesError codeCommand failed: code --list-extensions/bin/sh: code: command not found
这是因为我的VS Code并不是通过命令行安装的,如果要使用code命令就需要通过命令行安装VS Code,然后重新执行yo code。
MacOS上通过Homebrew安装vs code:
brewcaskinstallvisual-studio-code
当然也可以选择不自动安装已有扩展,同样可以顺利进行后面的配置。
? What type of extension do you want to create? New Extension Pack? Add the currently installed extensions to the extension pack? No? What's the name of your extension? vscode-java-dev-tools-pack? What's the identifier of your extension? vscode-java-dev-tools-pack? What's the description of your extension? Some Java develop support tools extension pack.? Initialize a git repository? Yescreate vscode-java-dev-tools-pack/.vscode/launch.jsoncreate vscode-java-dev-tools-pack/package.jsoncreate vscode-java-dev-tools-pack/vsc-extension-quickstart.mdcreate vscode-java-dev-tools-pack/README.mdcreate vscode-java-dev-tools-pack/CHANGELOG.mdcreate vscode-java-dev-tools-pack/.vscodeignorecreate vscode-java-dev-tools-pack/.gitignorecreate vscode-java-dev-tools-pack/.gitattributesYour extension vscode-java-dev-tools-pack has been created!To start editing with Visual Studio Code, use the following commands:cd vscode-java-dev-tools-packcode .Open vsc-extension-quickstart.md inside the new extension for further instructionson how to modify, test and publish your extension.For more information, also visit http://code.visualstudio.com and follow us @code.
通过Yeoman工具,我们配置了name、identifier、description,并且工具自动生成了一个本地git仓库,工程目录结构如下:
$ tree -a -L 1.├── .git├── .gitattributes├── .gitignore├── .vscode├── .vscodeignore├── CHANGELOG.md├── README.md├── package.json└── vsc-extension-quickstart.md
CHANGELOG.md 发布变更记录,在Visutal Studio Code Marketplace的详情页中有该文件的链接。
README.md 在Visutal Studio Code Marketplace的扩展详情,作用类似GitHub Page。
package.json 扩展的 manifest文件,定义了扩展的相关属性。
vsc-extension-quickstart.md 针对生成的工程中文件的简易说明文档。
package.json
作为Extension Pack类型的VS Code 扩展来说,只需要维护package.json就行,package.json中的各项字段可以参考VS Code的官方文档:
https://code.visualstudio.com/api/references/extension-manifest
也可以参考我的vscode-java-dev-tools-pack/package.json,这是一个比较完整的Demo。
https://github.com/larva-zhang/vscode-java-dev-tools-pack/blob/master/package.json
package & publish
微软关于插件打包发布可以参考文档:
https://code.visualstudio.com/api/working-with-extensions/publishing-extension
微软提供了vsce这款命令行工具方便开发者进行打包和发布:
npm install -g vsce安装完成后,cd到工程目录下,进行打包生成.vsix文件
$ vsce packageDONE Packaged: /Users/larva-zhang/vscode-java-dev-tools-pack/vscode-java-dev-tools-pack-0.0.1.vsix (7 files, 16.7KB)
注意版本号,是根据package.json文件中的version来生成的,version必须是major.minor.stage的格式
package成功后,需要去vs code创建一个publisher,推荐通过浏览器访问management page创建,比较直观。
https://marketplace.visualstudio.com/manage
也可以通过vsce命令行创建,详见:
https://code.visualstudio.com/api/working-with-extensions/publishing-extension#create-a-publisher
有了publisher后就能进行publish了,还是在management page页面,通过上传.vsix文件的方式即可,当vs code校验通过后就会发布到Visual Studio Code Marketplace。
publish同样可以通过vsce命令行进行,详见:
https://code.visualstudio.com/api/working-with-extensions/publishing-extension#log-in-to-a-publisher
总结
插件安装完成后还是需要逐一去配置调试的,这个没法自动化,毕竟各人喜好不同,不过大多数插件都是开箱即用的。
作为开源的轻量级通用编辑器,VS Code的Java开发体验确实不如JetBrains,但和Eclipse一样胜在开源免费,所以还是可堪一用的。
作者:LarvaZhang
来源:cnblogs.com/larva-zhh/p/13723530.html
近期技术热文 1、牛逼!你竟然使用 Redis 实现一个轻量级的搜索引擎。。。
2、一群参与境内外赌博网站的开发的程序员被抓,网友:切勿面向监狱编程。。。
3、怎样在 Linux 系统中恢复已删除文件?
4、阿里面试官:SQL 语句中 left join 后用 on 还是 where,区别大吗?
点击下方gongzhong号 回复关键字【666】 领取资料
我就知道你会点赞+“在看”























![[JAVA] 从JAVA性能优化到微服务框架项目课程 JAVA高级课程 蚂蚁学堂打造互联网架构师课程 上](https://static.kouhao8.com/sucaidashi/xkbb/652e4a7155864fb209ee0c3ed0cca862.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)



![[JAVA] 潭州学院JAVA力作 JAVA就业前课程 JAVA多平台项目开发实战 JAVA学习冲刺阶段课程](https://static.kouhao8.com/sucaidashi/xkbb/39c1a2b20f050ee1198ec088757cb5c3.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)


![[JAVA] JAVA开发前后端分离企业级上线项目 JAVA对接真实数据项目前后端真实项目开发课程](https://static.kouhao8.com/sucaidashi/xkbb/19ff207a049a913ed76cb6264db11b0a.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[Java基础] 微专业 Java web开发工程师视频课程](https://static.kouhao8.com/sucaidashi/xkbb/3a4b75838caf7ff0d6ae8bff9a7a3a62.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)


相关资源