如何把VS Code打造成Java開發IDE
近期,公司推行正版化,本人使用的是JetBrains教育版,是不允許進行商業開發的,因此開啟了艱難的備用IDE選型之路。最終,我選定了輕量級的Visual Studio Code(以下簡稱VS Code)。
各種IDE選型比較的過程就不贅述了,Eclipse、NetBeans、Srping Tools Suite等等,只能說青菜蘿卜各有所愛。
插件淘沙
眾所周知,VS Code是一款輕量級的通用編輯器,和Eclipse一樣全靠海量的插件擴展,網上各類插件推薦文章又都是面向VS Code的最大IDE用戶群-前端開發人員的。
無奈之下只能逐一試驗,又開始了一輪插件淘沙的過程,最終篩選出幾十款插件,詳見vscode-java-dev-tools-pack/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 Theme New Language Support New Code Snippets New Keymap❯ New Extension Pack New 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 code
Command 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? 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/.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-pack code .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的官方文檔Extension Manifest。
也可以參考我的vscode-java-dev-tools-pack/package.json,這是一個比較完整的Demo。
package & publish
微軟關于插件打包發布可以參考文檔Publishing Extensions。
微軟提供了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創建,比較直觀。
也可以通過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一樣勝在開源免費,所以還是可堪一用的。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: