如何把VS Code打造成Java開發(fā)IDE
近期,公司推行正版化,本人使用的是JetBrains教育版,是不允許進(jìn)行商業(yè)開發(fā)的,因此開啟了艱難的備用IDE選型之路。最終,我選定了輕量級的Visual Studio Code(以下簡稱VS Code)。
各種IDE選型比較的過程就不贅述了,Eclipse、NetBeans、Srping Tools Suite等等,只能說青菜蘿卜各有所愛。
插件淘沙
眾所周知,VS Code是一款輕量級的通用編輯器,和Eclipse一樣全靠海量的插件擴(kuò)展,網(wǎng)上各類插件推薦文章又都是面向VS Code的最大IDE用戶群-前端開發(fā)人員的。
無奈之下只能逐一試驗,又開始了一輪插件淘沙的過程,最終篩選出幾十款插件,詳見vscode-java-dev-tools-pack/README.md。
定制Extension Pack#插件是篩選出來了,但是幾十款插件總不能每次都一個一個去點擊安裝吧,而且也難以維護(hù)。
幸而VS Code自身提供了一種叫Extension Pack的插件,這種插件的目的就是為了匯集一批插件到一起而設(shè)計的,安裝了一個Extension Pack就會自動安裝Pack內(nèi)的全部插件。
VS Code提供了一套nodejs工具用于輔助開發(fā)者創(chuàng)建擴(kuò)展,同時官方文檔中提供了簡單明了的文檔說明以及豐富的samples,samples包括Command、Color Theme、Tree View等等,本文僅做Extension Pack的示例。
環(huán)境準(zhǔn)備
環(huán)境依賴 nodejs 以及 Git,以MacOS為例,通過Homebrew安裝:
brew install node git然后通過 npm 安裝Yeoman和VS Code Extension Generator:
npm install -g yo generator-code
工程初始化
調(diào)用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)
回車后會提問是否要將當(dāng)前已安裝的擴(kuò)展安裝到新的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,然后重新執(zhí)行yo code。
MacOS上通過Homebrew安裝vs code:
brew cask install visual-studio-code
當(dāng)然也可以選擇不自動安裝已有擴(kuò)展,同樣可以順利進(jìn)行后面的配置。
? 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倉庫,工程目錄結(jié)構(gòu)如下:
$ tree -a -L 1.├── .git├── .gitattributes├── .gitignore├── .vscode├── .vscodeignore├── CHANGELOG.md├── README.md├── package.json└── vsc-extension-quickstart.md
CHANGELOG.md 發(fā)布變更記錄,在Visutal Studio Code Marketplace的詳情頁中有該文件的鏈接。 README.md 在Visutal Studio Code Marketplace的擴(kuò)展詳情,作用類似GitHub Page。 package.json 擴(kuò)展的 manifest文件,定義了擴(kuò)展的相關(guān)屬性。 vsc-extension-quickstart.md 針對生成的工程中文件的簡易說明文檔。package.json
作為Extension Pack類型的VS Code 擴(kuò)展來說,只需要維護(hù)package.json就行,package.json中的各項字段可以參考VS Code的官方文檔Extension Manifest。
也可以參考我的vscode-java-dev-tools-pack/package.json,這是一個比較完整的Demo。
package & publish
微軟關(guān)于插件打包發(fā)布可以參考文檔Publishing Extensions。
微軟提供了vsce這款命令行工具方便開發(fā)者進(jìn)行打包和發(fā)布:
npm install -g vsce
安裝完成后,cd到工程目錄下,進(jìn)行打包生成.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)
注意版本號,是根據(jù)package.json文件中的version來生成的,version必須是major.minor.stage的格式
package成功后,需要去vs code創(chuàng)建一個publisher,推薦通過瀏覽器訪問management page創(chuàng)建,比較直觀。
也可以通過vsce命令行創(chuàng)建,詳見Create a publisher
有了publisher后就能進(jìn)行publish了,還是在management page頁面,通過上傳.vsix文件的方式即可,當(dāng)vs code校驗通過后就會發(fā)布到Visual Studio Code Marketplace。
publish同樣可以通過vsce命令行進(jìn)行,詳見Log in to a publisher
總結(jié)
插件安裝完成后還是需要逐一去配置調(diào)試的,這個沒法自動化,畢竟各人喜好不同,不過大多數(shù)插件都是開箱即用的。
作為開源的輕量級通用編輯器,VS Code的Java開發(fā)體驗確實不如JetBrains,但和Eclipse一樣勝在開源免費,所以還是可堪一用的。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明2. CSS hack用法案例詳解3. ASP 處理JSON數(shù)據(jù)的實現(xiàn)代碼4. PHP設(shè)計模式中工廠模式深入詳解5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. asp中response.write("中文")或者js中文亂碼問題7. 將properties文件的配置設(shè)置為整個Web應(yīng)用的全局變量實現(xiàn)方法8. ThinkPHP5實現(xiàn)JWT Token認(rèn)證的過程(親測可用)9. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向10. jsp網(wǎng)頁實現(xiàn)貪吃蛇小游戲
