如何把VS Code打造成Java开发IDE?
近期,公司推行正版化,本人使用的是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工具,我們配置了name、identifier、description,并且工具自動生成了一個本地git倉庫,工程目錄結構如下:
$?tree?-a?-L?1 . ├──?.git ├──?.gitattributes ├──?.gitignore ├──?.vscode ├──?.vscodeignore ├──?CHANGELOG.md ├──?README.md ├──?package.json └──?vsc-extension-quickstart.mdCHANGELOG.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一樣勝在開源免費,所以還是可堪一用的。
IT技術分享社區
個人博客網站:https://programmerblog.xyz
文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識
總結
以上是生活随笔為你收集整理的如何把VS Code打造成Java开发IDE?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 佳能g3800故障灯说明书_热水器维修电
- 下一篇: Java技术:serialVersion