作者:LarvaZhang

cnblogs.com/larva-zhh/p/13723530.html

近期,公司推行正版化,本人使用的是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? Yes
Error codeCommand failed: code --list-extensions
/bin/sh: code: command not found

这是因为我的VS Code并不是通过命令行安装的,如果要使用code命令就需要通过命令行安装VS Code,然后重新执行yo code

MacOS上通过Homebrew安装vs code:

brew cask install visual-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 instructions
on how to modify, test and publish your extension.For more information, also visit http://code.visualstudio.com and follow us @code.

通过Yeoman工具,我们配置了nameidentifierdescription,并且工具自动生成了一个本地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一样胜在开源免费,所以还是可堪一用的。

推荐好文

>>【练手项目】基于SpringBoot的ERP系统,自带进销存+财务+生产功能>>分享一套基于SpringBoot和Vue的企业级中后台开源项目,代码很规范!
>>能挣钱的,开源 SpringBoot 商城系统,功能超全,超漂亮!

把VS Code打造成Java开发IDE,也挺爽!相关推荐

  1. 如何把VS Code打造成Java开发IDE?

    近期,公司推行正版化,本人使用的是JetBrains教育版,是不允许进行商业开发的,因此开启了艰难的备用IDE选型之路.最终,我选定了轻量级的Visual Studio Code(以下简称VS Cod ...

  2. 把 VS Code 打造成 Java 开发 IDE,也挺爽!

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 ...

  3. 软件java安卓版_AIDE软件下载-AIDE【Java开发IDE软件】下载v3.2.18 安卓版-西西软件下载...

    AIDE[Java开发IDE软件]是一款安卓Java开发应用类软件,支持代码编写调试功能,帮助用户的安卓手机进行项目调试,软件支持多种编辑方式,代码解析度高,本次放出AIDE安卓版下载,有相关代码调试 ...

  4. 上课偷懒全靠它,VS code中搭建Java开发环境+小霸王游戏环境—颤抖吧,德玛西亚!!

    上课偷懒全靠它,VS code中搭建Java开发环境+小霸王游戏环境-颤抖吧,德玛西亚!!! Visual Studio Code 下载安装 搭建小霸王游戏环境 VS code 中搭建 JAVA 开发 ...

  5. 在Visual Studio Code里进行Java开发

    Visual Studio Code这款开发神器怎么可能不支持我大Java的开发呢.在extension里下载Java extension Pack for Visual Studio Code: 安 ...

  6. 终极指南:如何使用Visual Studio Code进行 Java 开发?

    VS Code(Visual Studio Code)已成为多语言开发人员的首选文本编辑器. 大量Javascript.TypeScript.Go.Python 和其它语言的开发人员都在使用VS Co ...

  7. VS Code 遇上 Java丨第一章:配置 Java 开发环境

    读不在三更五鼓,功只怕一曝十寒. 准备工作 VS Code 安装包,示例版本:code_1.55.2-1618307277_amd64 JDK 15 安装包,示例版本:jdk-15.0.1_linux ...

  8. Java开发常用软件列表——持续更新

    Java开发常用工具列表 Typora 一款支持Markdown语法的本地文本编辑器,比较适合用来写工作日志. Clover 三叶草,可以把Windows文件夹像浏览器一样用标签组织起来,体验确实能够 ...

  9. java开发人员macOS系统上需要安装软件以及常用快捷键

    前言 最新更换了macOS系统,首次从windows切换过来必然会有一个熟悉的过程.工欲善其事,必先利其器,作为一个java开发人员首先要将必要的软件下载安装好.在此记录一下需要下载的内容,以便以后查 ...

最新文章

  1. 关于学习Python的一点学习总结(28->收集参数及分配参数)
  2. 急速JavaScript全栈教程
  3. 【线段树 泰勒展开】Codechef April Challenge 2018 Chef at the Food Fair
  4. python找房源_python抓取贝壳房源信息
  5. ofstream与ate的故事 经典!
  6. CubeMx 生成的FreeRTOS 代码在ARM compiler6 编译__forceinline 报错的解决方法
  7. C语言单链表实现FCFS算法,数据结构与算法复习题(含答案).doc
  8. oracle 左取,oracle 取子串(转)
  9. CCleaner 2.11.636 - 系统优化和隐私保护工具
  10. LevelDB PUT/GET操作调用关系
  11. (转)Python 字符串格式化 str.format 简介
  12. java学习心得与体会(自我鼓励)
  13. 免费开源PDF复制格式整理神器
  14. C++ 数学与算法系列之认识格雷码
  15. G.7xx的音频编码方式与带宽计算
  16. #医疗算法招聘:【医学影像AI公司-图像算法工程师】(招2人)
  17. 怎么找网图本人_怎么通过照片找人-请问如何用相片在网络查找个人资料就是利用相 – 手机爱问...
  18. win2008 磁盘碎片整理
  19. 相关词挖掘-下拉词挖掘免费工具-用户都在相关搜索的关键词挖掘
  20. 怎样给手机网站添加支付接口

热门文章

  1. 爱奇艺推出国际娱乐服务iQIYI App:科技和内容同时出海 携手Astro展开马来西亚地区本土化运营...
  2. 何小鹏“维权”事后谈造车:心很累 曾购上千瓶白酒缓解压力
  3. 什么手机用起来最烫手?2019上半年手机温度榜公布...
  4. 宁德时代811电芯初现真容 搭配宝马X1混动汽车能量密度提升近6成
  5. dalvik.system.PathClassLoader[DexPathList[[zip file /data/app/comda.xfdsafda.activdity-1/base.apk]
  6. 安装mysql 5.7.19 winx64解压缩版
  7. 别让for循环毁了你的程序(二)
  8. go的优势--链表与结构体使用
  9. hotmail发送邮件html,HTML电子邮件中的链接在Hotmail中不起作用
  10. Makefile模板的改进