前言##
我一直在 Linux 桌面系統下的探索尋找各種界面美觀、使用舒適的軟件工具。對於Linux下的開發人員來講,這幾年最大的福利就是 MicroSoft 推出的 Visual Studio Code 了。在 Visual Studio Code 推出之前,有一些領域總是很難找到順手的工具。比如說 JavaScript,如果不想用 WebStorm 這么重量級且要付費(近幾年 WebStorm、PyCharm、IDEA等工具都有免費的 Community 版)的 IDE 的話,就基本上沒啥好用的工具了。對於 C/C++ 也一樣。Eclipse 現在也在走下坡路,除了 Java 開發可圈可點外,對 JavaScript、Python、C/C++ 的支持可以說是非常垃圾,連智能提示都做不好,還敢說自己是 IDE,還不如一些簡單的編輯器,比如 Geany、Vim 這樣的。而且 C/C++ 領域的其他 IDE,比如 Code::Blocks、KDevelop、Qt Creator、Eclipse CDT 什么的我都試過,也不是很順手。我對我使用的工具還是有點要求的,基本上需要滿足以下幾條:
- 輕量級。我更喜歡編輯器而不是 IDE,因為 IDE 一般都太笨重了,即占硬盤空間,又啟動緩慢,還喜歡在你的項目里面添加一堆亂七八糟的工程文件。有的還提供一大堆八輩子都用不上的復雜功能。但是即使是對於程序員而言,他所需要的也僅僅是語法高亮、智能提示、自動補全等核心功能而已,如果能在符號間跳轉和導航、並且能夠定義外部工具或在不離開編輯器窗口的情況下執行 Shell 命令,就更完美了。
- 界面美觀。以上提到的很多 IDE 被我淘汰,主要也是因為美觀的原因。Vim 挺不錯,以前寫一些簡單的 C/C++ 代碼主要靠 Vim,但是純字符界面的 Vim 在美觀度上還是難以和 GUI 程序媲美的,特別是對有實時預覽需求的領域,比如 HTML、CSS、Markdown 等等,必須得上 GUI 才好用。而 Linux 桌面下的 GUI 軟件往往有硬傷,經常會出現界面丑陋、字體難看等缺點,而且有的還不穩定,經常崩潰。
- 功能強大的智能提示和自動補全。Eclipse 做得不好,CDT 經常出現“Write Occurence of...”,就是沒有智能提示,用 Eclipse 寫 JavaScript 也沒有智能提示,即使是網上廣受好評的 PyDev 插件對 Python 的智能提示也做得不好。以上都是我親自測試過的,絕無妄言。
可以這么說,Visual Studio Code 滿足了我對輕量級編輯器的一切幻想。首先,這個工具非常小巧,安裝包體積不大,啟動速度又超快。而且它打開文件的速度非常快,基本上都是秒開。其次,它非常漂亮,無論是菜單欄、窗口標簽、編輯器字體,還是窗口布局、顏色主題,都很符合我的口味。而且字體的設置也非常方便,我后面會講到。最后,它的智能提示和自動補全功能很強大。目前,我用的是 Visual Studio Code 1.11 版,主要用來寫 JavaScript 和 C/C++。而 Visual Studio Code 的 Python 插件非官方出品,功能還是差了些,所以我寫 Python 還是只好用 PyCharm Community。
下面說說我對 Visual Studio Code 的體驗。
下載和安裝##
Visual Studio Code 的下載和安裝非常簡單,我就不多說了,直接貼下載網頁的截圖,地址大家自己看。如下圖:
它的文檔也是非常完善的,每次使用它編寫不同的編程語言的程序時,我都看一下相關的文檔。如下圖:
界面美化##
前面提到過,如果一個軟件界面不漂亮,或者不符合我的習慣,我是用得不開心的。Visual Studio Code 剛開始使用時,界面是這樣的:
這個界面對我來說存在以下幾個問題:
- 字太小;
- 最左邊的那一豎條太討厭了,我要去掉它;
- 編輯器的字體是 Courier New,雖然是等寬字體,但是該字體比較細,適合打印,不適合屏幕顯示,我要改成 Consolas;
- 界面默認是中文,我有時想把它改成英文。
小字變大這太簡單了,使用快捷鍵 Ctrl+= 就可以了,如果要縮小,快捷鍵 Ctrl+- 。如下圖:
最左邊那個豎條叫 Active Bar,可以從 View 菜單中設置為不顯示,如下圖:
改字體,這需要更改 Visual Studio Code 的配置。Visual Studio Code 的設計非常合理,要更改配置在菜單里面就可以找到,但是配置是以配置文件的形式明文存在的,而且配置文件都是 json 格式,太方便了。和編輯器有關的配置文件是 settings.json
,該配置文件分用戶級別的和工作區級別的,用戶級別的放在目錄 ~/.config/Code/User
中,而工作區級別的就放在工作目錄中的.vscode
目錄中。如下圖:
從上圖可以看到,我們對編輯器字體的縮放以及對 Active Bar 的設置也被保存到了用戶級別的 settings.json
文件中。如果要更改界面的語言,就需要設置 locale.json
配置文件。這個設置從菜單中找不到,只能使用 Ctrl+Shift+P 這個快捷鍵找到設置入口,如下圖:
Visual Studio Code 支持的語言:
和項目有關的配置文件##
前面說過,我不喜歡重量級的工程項目,不喜歡項目文件把我的工作目錄搞得亂七八糟。Visual Studio Code 非常輕便,默認一個目錄就是一個工作區,我們的工作只需要以目錄的形式組織就可以了。但是對於不同的項目而言,基本的配置文件還是要有的。好在這些配置文件都放在工作目錄的 .vscode
目錄下,而且都是 json 格式,比較好管理。對於每種不同的語言和不同的項目,其配置文件是不同了,但是並不復雜,通過查看文檔即可解決。
比較常見的文件是 launch.json
和 tasks.json
。launch.json
一般用於對調試的支持,也就是告訴 Visual Studio Code 使用哪個調試器運行我們的程序,或者怎樣遠程連接到調試器。如下圖,是我的一個 JavaScript 項目的截圖:
可以看到,我們使用 Node.js 來運行這個 JavaScript 文件來進行調試。而 tasks.json
中可以定義 Task,而 Task 可以是運行一個外部程序,這大大加強了 Visual Studio Code 的功能。使用 Task,我們可以使用各種各樣的軟件工程學的工具,比如 make啊、gulp啊什么的。
最后再來看看我的一個簡單的 C/C++ 項目,如下圖:
關於其中的 launch.json
、tasks.json
、settings.json
前面已經講過了,就是多了一個 c_cpp_properties.json
文件。這其實也很好理解,和 C/C++ 相關的那些屬性都應該設置在這里嘛,比如從哪些目錄 include 頭文件、怎么解析符號、怎么進行自動補全之類的,都應該在這個配置文件中。而對於軟件工程學方面的內容,比如 Build、Clean、Run 這樣的東西,我覺得應該屬於 Task 吧,而且據說 Visual Studio Code 對 Git 的支持也不錯哦。
總結##
總而言之, Visual Studio Code 非常方便好用。目前我還只是用它寫 JavaScript 和 C/C++。至少在這兩個領域我已經用它代替了 Vim。就寫這么多吧,至於 Visual Studio Code 對軟件工程學方面的支持,我還要繼續摸索。
(京山游俠於2017-04-21發布於博客園,轉載請注明出處。)