關(guān)于vsCode 之前曾寫過Go語言開發(fā)環(huán)境,項(xiàng)目計(jì)劃趕不上變化,開發(fā)環(huán)境搭建了,計(jì)劃卻黃了。只能搞起老本行
scala了。
IDEA實(shí)用讓機(jī)器無福消受了,見到VSCode的美色就起了搭建scala開發(fā)環(huán)境心了。本文記錄下環(huán)境的搭建過程。
本文內(nèi)容介紹scala開發(fā)環(huán)境使用vscode擴(kuò)展插件,以及使用開發(fā)的問題。主要介紹使用好用的擴(kuò)展插件。
- 前置條件
開發(fā)環(huán)境搭建的基礎(chǔ)環(huán)境:
VSCODE版本: 1.38.0 (user setup)
提交: 3db7e09f3b61f915d03bbfa58e258d6eee843f35
日期: 2019-09-03T21:49:13.459Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS:Windows_NTx64 6.1.7601
-
scala開發(fā)擴(kuò)展安裝
在vscode擴(kuò)展庫中,支持scala語言的插件很多,使用率最高的是:Scala Language Server,運(yùn)行依賴an Ensime-based Scala language server,對scala工程配置有要求。項(xiàng)目配置無法更改,只能割愛。自己的工程建議使用。首選之外的備胎是:"Good Enough" Scala Language Server擴(kuò)展和Scala Syntax擴(kuò)展。

功能支持:
- 根據(jù)符號支持類、trait、object、var 等的跳轉(zhuǎn)功能
- 支持搜索工作區(qū)符號
不具備的功能:
- 代碼自動補(bǔ)全功能
- 依賴包導(dǎo)入
- 高亮功能
Scala Syntax擴(kuò)展是官方提供的scala擴(kuò)展,支持高亮等功能。
-
代碼自動補(bǔ)全功能
不完美是程序猿的敵人,必須消滅。本著生命不息折騰不止的精神,我們要堅(jiān)持。代碼補(bǔ)全大大提升開發(fā)效率,
Good Enough無法支持代碼自動補(bǔ)全,我們自然要消除這個(gè)缺點(diǎn)。最終,我聚焦在2個(gè)自動補(bǔ)全擴(kuò)展上:TabNine和All Autocomplete兩款高人氣擴(kuò)展。我放棄了TabNine。免費(fèi)版本有諸多限制,且占用很大的內(nèi)存。優(yōu)點(diǎn)是提示速度快,而且很準(zhǔn)確。土豪們的首選吧。

All Autocomplete沒有這些限制,雖然補(bǔ)全提示和速度和前者有差距,不影響使用。下圖是效果圖,提升編碼效率,我們值得擁有。

-
快捷鍵支持
IntelliJ IDEA KeybindingsVSCode支持豐富的快捷鍵配置,只所以安裝快捷鍵擴(kuò)展,還想延續(xù)之前IDEA的習(xí)慣。畢竟VSCode無法完全替代IDEA。
IntelliJ IDEA Keybindings是我們選擇的快捷鍵支持?jǐn)U展。 -
圖標(biāo)主題設(shè)置
下圖是我的圖標(biāo)主題。

圖標(biāo)主題使用Material Icon Theme。主題中提供了巨量的圖標(biāo),對文件后綴自動識別標(biāo)注。不折騰也可以很漂亮,折騰可以更漂亮。因?yàn)橹С肿远x圖標(biāo)顏色和圖標(biāo)。
-
文件夾設(shè)置方式:
"material-icon-theme.folders.color": "#ef5350", -
設(shè)置不同的圖標(biāo)包
"material-icon-theme.files.associations": {`
? "**.scala": "elm",
? "fileName.ts": "angular"
? }
scala的圖標(biāo)設(shè)置成angular的圖標(biāo)樣式。Material Icon Theme對前端開發(fā)支持更加棒。
-
括號配對擴(kuò)展安裝
復(fù)雜的控制邏輯伴隨著大量的括號等分隔符號,
Bracket Pair Colorizer擴(kuò)展提高代碼可讀性。下圖if分支中括號標(biāo)識不同顏色,看著舒服。

-
其它擴(kuò)展
延伸主題使用
Noctis,標(biāo)簽擴(kuò)展使用Bookmarks。版本控制使用:GitLens — Git supercharged等。
最后
以上vscode配置開發(fā)和閱讀scala代碼比較方便,但是依賴包自動導(dǎo)入以及提示等還不支持?,F(xiàn)在,我使用基本開發(fā)和代碼閱讀在vs中進(jìn)行,編譯使用sbt在命令行進(jìn)行。
最后,讓我們一起體驗(yàn)飛一般的感覺吧。