大家好我是lemon, 馬上進入我們今天的主題吧。
又見VsCode
Visual Studio Code(簡稱VS Code)是一個由微軟開發(fā),同時支持windows 、linux 和 macOS 等操作系統(tǒng)的免費代碼編輯器,在2019年的Stack Overflow組織的開發(fā)者調(diào)研中,VS Code被認為是最受開發(fā)者歡迎的開發(fā)環(huán)境。
之前寫過一篇文章詳細介紹如何使用 VsCode 進行遠程開發(fā),VsCode 遠程開發(fā)環(huán)境相對其他 IDE 的遠程開發(fā)環(huán)境,實現(xiàn)了真正的遠程開發(fā),在本地主機(一般是Windows或MAC)上的操作的對象直接就是遠程機(Linux),所有本地主機上的修改直接基于遠端文件,擺脫了傳統(tǒng)開發(fā)流程在本地編輯文件,利用FTP工具上傳到遠程編譯機調(diào)試編譯,這一套繁瑣的操作,因此非常的方便。
那篇文章得到了各位讀者的廣泛好評,也被各大號轉(zhuǎn)載 15 次之多,感興趣的朋友看我原來這篇文章: 手把手教你配置VS Code遠程開發(fā)工具,工作效率提升N倍。
這篇文章我會結(jié)合日常工作使用經(jīng)驗,教你打造一個體驗流暢的 C/C++ 開發(fā)環(huán)境,這份配置指南可能不是面面俱到,也不會詳細的教你一步步怎么配置插件,這些太細節(jié)的工作留給你自己去完成,實際上插件下載頁都會有詳細的說明。
不少新手可能會覺得 VsCode 編輯文本還好,看代碼和寫代碼太難用,那是沒有掌握正確的打開方式,VsCode 精髓是豐富的插件體系支持,相信看完這篇文章配置好環(huán)境之后,就只剩一句「真香」能形容。
為了有個直觀的印象,先來看下我的 VsCode 插件列表,因為我用VsCode 開發(fā) C/C++/Go/Python 程序,插件比較多,有些可能和本文無關(guān)的插件可以忽略掉。
基礎(chǔ)開發(fā)插件
既然是配置支持C/C++環(huán)境下開發(fā),那首先推薦的基礎(chǔ) C/C++ 開發(fā)插件,以下兩個是必須要裝的插件,主要提供一些基礎(chǔ)的代碼調(diào)試和查看功能,安裝以后 VsCode 就能支持智能化代碼補全、類型填充和聯(lián)想、符號和函數(shù)定義跳轉(zhuǎn)、引用查找等 C/C++ 程序開發(fā)和源碼管理必備能力,讓你的 VsCode 從編輯器進化成 IDE 的基礎(chǔ)插件。
源碼閱讀
程序員日常工作有兩大內(nèi)容,一個是寫自己的代碼,一個是閱讀別人寫的代碼,下面這兩個插件讓你在 VsCode 優(yōu)雅看代碼。
首先推薦的是下面的這個懶人神器 TODO Tree,自己寫的 TODO 哭著也要補充實現(xiàn)。
這個插件的使用場景是,你看完代碼加了下面這個注釋 :// TODO 以后會擴展這部分功能 當(dāng)然,不知道這個「以后」是什么時候,一不小心以后變成遙遙無期,一部分原因是不想改,另一部分原因是寫下這段注釋的人時間久了就忘記了,這時候你需要「 TODO Tree 插件」,我們可以更方便的管理代碼中的此類注釋。
這個插件能幫你組織和管理TODO 注釋,你在代碼中注釋的帶 TODO 的標簽會統(tǒng)一在側(cè)邊欄顯示出來,當(dāng)然不限于 TODO 注釋,可以自定義管理標簽比如 FIXME 等,可以基于標簽過濾和篩選。
另一個推薦的源碼閱讀插件是 Bookmarks
「書簽」這個插件的功能就和它名字一樣直接,沒錯它就是一個你的源碼書簽,當(dāng)我們看大工程源碼的時候,往往需要在成千上萬個源文件之間跳轉(zhuǎn),此時 Bookmarks 能幫你方便的創(chuàng)建和管理書簽,看到哪個位置想加個書簽就按快捷鍵 Ctrl + Alt + K ,多按一次就是刪除,不僅如此他還提供了在書簽之前跳躍和查看管理的功能,更多功能可以自己體驗,反正我看大工程源碼用這個很爽。
代碼管理
下面介紹兩個 Git 版本控制相關(guān)的插件,項目中我們用的最多的版本控制工具是 Git ,當(dāng)然 VsCode 自身提供了比較豐富的 Git 版本控制功能,基本上可以通過在界面點點點完成一些了Git 操作,但我今天要介紹的這兩個插件能讓你的 Git 更驚艷,算是對功能的增強,讓你的 Git 操作更直觀好用,好看的東西誰不喜歡呢?
第一個出場的是Git Graph 插件,可視化Git倉庫,讓你的提交記錄看起來美觀大方,并且基于圖中提交點提供了豐富的Git 操作。
如圖中你所見到的樣子,提交記錄變成一條條時間線,分支也能清晰的用不同顏色時間線區(qū)分出來,并且點開提交線上的提交點可以查看當(dāng)時的提交動作,可以在提交動作上查看做了哪些改動,也可以方便的跳轉(zhuǎn)到改動文件,更多功能自行體驗,這個插件 lemon 強烈推薦!
下面介紹的這個GitLens 插件也是Git功能增強工具。
我最喜歡它的一個功能是,它可以在文件中改動的位置后面直接顯示出本次改動的提交信息,然后你可以直接通過顯示的提交信息跳轉(zhuǎn)到提交文件對比,其實還有其他豐富的功能,不過這個功能我用的最多。
小而美的工具
下面這幾個插件是我在日常使用中積累的工具插件,非必須,但是擁有了之后編碼幸福感倍增,下面一一介紹給大家。
第一個是下面這個Bracket Pair Colorizer插件,我管它叫彩虹括號插件。
你是否為經(jīng)常為寫的大括號、花括號、小括號沒有匹配而煩惱?是否經(jīng)常找匹配括號看瞎了眼?現(xiàn)在不要 888 也不要 998,只需一鍵下載安裝這個插件就再也不用擔(dān)心啦。這個插件讓你寫的每一個括號都能找到他自己的顏色,成雙成對,點一下其中一半括號自動匹配另一半,拯救了廣大程序員的近視眼睛度數(shù)。
再來介紹下面這個koroFileHeader插件,這個插件主要用于自動的插入頭文件開頭的說明和函數(shù)的說明。
比如我們經(jīng)常看到別人的頭文件開頭是這樣的模板:
/******************************************************************************
* FILENAME: niu_bi_head_file.h
* DESCRIPTION: 非常厲害的頭文件
* HISTORY: Date Author Comment
* 2020/09/05 lemon
*******************************************************************************/
123456
這個可不是別人一個個字打出來的,安裝插件之后你只需要簡單配置想要的格式,然后按下快捷鍵Ctrl + Alt +i 即可自動即可自動生成這樣一個模板。
類似的對函數(shù)的說明注釋模板,只需按下快捷鍵Ctrl + Alt +t 即可完成,非常的方便。
下面這個插件Switcher,這個插件能在頭文件和 C/C++ 文件之間跳轉(zhuǎn)。
這個插件完全是因為我太懶想省力,才找的一個輔助工具,我們經(jīng)常需要通過頭文件跳到對應(yīng)的源文件,或者從源文件跳轉(zhuǎn)到對應(yīng)的頭文件,當(dāng)然可以在側(cè)邊欄的文件管理器中選擇打開,但是多了一個步驟有點繁瑣,所以我找了這個插件,其實按插件的說明文檔,它是能在不同的文件類型之間跳轉(zhuǎn),不僅僅局限于頭文件和源文件,懶人福音,你值得擁有。
實用工具
下面這幾個插件是比較實用的工具插件,各取所需。
第一個是官方提供的 VsCode 中文漢化包。雖然lemon提倡并鼓勵大家多多實用英語,但若你不想折騰,那咱們家漢語博大精深,好優(yōu)美的中國話,那就讓VsCode也來說漢語吧,Microsoft 官方直供,兼容性好,放心食用。
下面這個是 Markdown 預(yù)覽增強插件。對于經(jīng)常寫博客或文章的人來說,Markdown 肯定是少不了的,這個插件支持分屏預(yù)覽,各種豐富的Markdwon 增強功能。
最后這個 shellman 插件是 Linux shell 腳本輔助工具。在 Linux 下工作難免隨手寫一個腳本,這個插件能提供了便捷的shell script 自動補全和聯(lián)想等功能,提高你的腳本編寫速度和準確性。
最常用快捷鍵
快捷鍵太多,沒必要完全記下來,只需記住一些常用的快捷鍵即可,一些不常用的快捷鍵在使用的時候加強記憶就好。列舉出我自己常用的快捷鍵,不多,但夠用!應(yīng)付日常開發(fā)工作綽綽有余。
Ctrl + Shift + P 這個必須要放在第一位,這個命令是所有「命令之母」。這么說一點也不過分,它會打開 VsCode 命令窗口,在這個窗口下輸入上述的插件名稱就能知道這個插件支持哪些特性了,順帶還會說明特性快捷鍵。
下面舉個例子,先輸入Ctrl + Shift + P 打開命令查找輸入框,然后輸入 bookmarks 就能知道這個插件的支持的所有特性,順便記下快捷鍵。
Ctrl + P 文件查找。快速打開文件列表,輸入關(guān)鍵字匹配文件,優(yōu)先顯示最新打開過的文件,方便的在指定文件之間跳轉(zhuǎn)。
F12 跳轉(zhuǎn)到定義,這個沒啥好說的,跳轉(zhuǎn)到函數(shù)或符號的定義,這是高頻操作。
Alt + F12 以預(yù)覽方式在當(dāng)前頁面顯示定義,都是查看定義,相對 F12 的優(yōu)點是不會跳出當(dāng)前文件到定義文件,而是在當(dāng)前文件打開一個小窗口預(yù)覽,如下圖:
Shift + F12 查看光標所在函數(shù)或變量的引用,就像 Alt +F12 一樣以預(yù)覽方式在當(dāng)前文件打開引用的文件列表。如下圖:
Alt + 左/右箭頭 前進或者后退到光標所在源碼的上一個位置。
Ctrl + Shift + O 查看當(dāng)前文件的符號,可以用關(guān)鍵字過濾符號,當(dāng)然你也可以在左側(cè)的大綱視圖中查找符號,不過大綱視圖不能查找匹配符號,所以我更習(xí)慣用快捷鍵方式查找符號。
快捷鍵講完了嗎?沒有,太多快捷鍵了;其他的快捷鍵不重要嗎?因人而異吧,高頻使用的快捷鍵就是重要的,而上面我說的這幾個是超高頻使用,記住這幾個差不多就行了,剩下快捷鍵你如果用的多了自然就記住了,但是我說的這幾個請務(wù)必先記在腦子里,這會大大降低你的使用成本,盡早享受 VsCode Coding 的樂趣!
最后說幾句
想起我上大學(xué)的時候,大一學(xué)習(xí)C語言課必須安裝VC++ 6.0才行,那時候也有 Visual studio 這樣的 IDE,不過老師沒推薦其他 IDE,都是憑借自己對編程的興趣發(fā)現(xiàn)了更多比VC++ 6.0 更加 ‘現(xiàn)代化’ 的 IDE,比如Jetbrain 系列和Visual studio系列,愛不釋手各種嘗試。
現(xiàn)在主流的 IDE 已經(jīng)非常豐富,其實編輯器或者 IDE 只是一個工具,沒有最好自己用的順手就行,就像 Vim 黨和 Emacs 黨誰也說服不了誰一樣,有的人喜歡。
大家更應(yīng)該關(guān)注編程這件事本身,提高自身硬實力才是最緊要的,不過好的工具能讓你事半功倍,這點 lemon 也是完全贊成的,希望這篇文章也能夠讓你事半功倍。
我是lemon,熱愛技術(shù),也愛生活,堅持分享輸出,讓自己和讀者都有收獲!關(guān)注我來跟我一起變強吧。
如果覺得文章寫的還行,對你有所幫助,動動手指「點贊」或給「轉(zhuǎn)發(fā)」是對我持續(xù)創(chuàng)作的最大支持。