当前位置:   article > 正文

如何把 VS Code 打造成 Java 开发 IDE?_vscode java

vscode 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
  • 1

然后通过 npm 安装 Yeoman 和 VS Code Extension Generator:

npm install -g yo generator-code
  • 1

工程初始化

调用 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 Theme
  New Language Support
  New Code Snippets
  New Keymap
❯ New Extension Pack
  New Language Pack (Localization)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

回车后会提问是否要将当前已安装的扩展安装到新的 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 code

Command failed: code --list-extensions
/bin/sh: code: command not found
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

MacOS 上通过 Homebrew 安装 vs code:

brew cask install visual-studio-code
  • 1

当然也可以选择不自动安装已有扩展,同样可以顺利进行后面的配置。

? 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? Yes
   create vscode-java-dev-tools-pack/.vscode/launch.json
   create vscode-java-dev-tools-pack/package.json
   create vscode-java-dev-tools-pack/vsc-extension-quickstart.md
   create vscode-java-dev-tools-pack/README.md
   create vscode-java-dev-tools-pack/CHANGELOG.md
   create vscode-java-dev-tools-pack/.vscodeignore
   create vscode-java-dev-tools-pack/.gitignore
   create vscode-java-dev-tools-pack/.gitattributes

Your 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-pack
     code .

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.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

通过 Yeoman 工具,我们配置了 name、identifier、description,并且工具自动生成了一个本地 git 仓库,工程目录结构如下:

$ tree -a -L 1
.
├── .git
├── .gitattributes
├── .gitignore
├── .vscode
├── .vscodeignore
├── CHANGELOG.md
├── README.md
├── package.json
└── vsc-extension-quickstart.md
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 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
  • 1

安装完成后,cd 到工程目录下,进行打包生成.vsix 文件

$ vsce package
 DONE  Packaged: /Users/larva-zhang/vscode-java-dev-tools-pack/vscode-java-dev-tools-pack-0.0.1.vsix (7 files, 16.7KB)
  • 1
  • 2

注意版本号,是根据 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 一样胜在开源免费,所以还是可堪一用的。

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

CSDN大礼包:全网最全《全套Python学习资料》免费分享
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/522674

推荐阅读
相关标签