半年前我開始用 Clion,順帶著寫了一篇心得記錄使用 CLion 的技巧,沒想到發(fā)布在簡書后瀏覽量還是挺高的,居然還獲得了人生中第一筆真正的打賞,感動之余也決定重新整理一下,加上這半年來的實際使用體驗。這篇文章會通過 Mac 版進(jìn)行介紹(除了個別按鍵以外,差別不大),添加了演示動畫。
關(guān)于授權(quán)
JetBrains 全家的產(chǎn)品幾乎都支持 student license,所有產(chǎn)品!所有產(chǎn)品!所有產(chǎn)品!重要的事情要說三遍一次授權(quán)時間為一年,到期需要重新驗證 edu 郵箱,建議學(xué)生黨們通過該方式激活,戳這里申請,其他有能力的用戶可以購買授權(quán)支持正版。
快捷鍵配置
Clion 的默認(rèn)快捷鍵風(fēng)格是 Visual Studio,Windows 用戶就不用改了, Mac 上一般用 ? 代替 control,在 Setting—>Keymap 里修改成 Xcode 風(fēng)格即可,Clion 默認(rèn)提供8種風(fēng)格,也支持用戶 DIY。
由于我經(jīng)常使用 Sublime Text,希望在一些共同的功能能夠保持相同的快捷鍵,所以我自己 DIY 了一些:
- Add selection for Next Occurrence (多重選擇) —> ? + D
- Unselect Occurrence (取消選擇) —> ? + U
- Build (編譯) —> ? + B
- Select Line at Caret (選中光標(biāo)所在行) —> ? + L
代碼提示的匹配模式
Clion 代碼提示和補(bǔ)充的匹配有 All, None, First Letter 三種方式:
模式 | 說明 | 推薦程度 |
---|---|---|
All | 關(guān)鍵詞完全匹配 | ? |
First Letter | 第一個字符完全匹配 | ?? |
None | 不區(qū)分大小寫、首字符 | ?? |
All 需要關(guān)鍵詞完全一致(大小寫、字符順序)才會提示,F(xiàn)irst Letter 只要關(guān)鍵詞的第一個字母(區(qū)分大小寫)或下標(biāo)匹配就會出現(xiàn)提示,而 None 則是匹配要求最為寬松的一種,不區(qū)分大小寫、不要求首字匹配,我個人比較喜歡這種,懶人福音~~
智能提示
官方給出的名字是 intention actions,這個和 auto-complete 不同,會根據(jù)你寫的代碼給出即時提示,比如調(diào)用某個函數(shù)漏寫了一個參數(shù)。厲害的是不僅提示這些問題或建議,同時還提供解決方案,點擊左側(cè)的小燈泡或者按 ? + Enter(Windows 下是 Alt + Enter,快捷鍵參考自己的配置)會顯示這些提示確認(rèn)后即可應(yīng)用。
快速修復(fù)
這個功能作用和智能提示有點類似,相比之下區(qū)別在于快速修復(fù)專注于一些容易出現(xiàn)的小錯誤,比如忘記;
, 判斷中用=
等很容易出現(xiàn)的小錯誤,Clion 也會顯示小燈泡引起你的注意,快捷鍵和智能提示一樣,按下 ? + ? 就可以快速修復(fù)。
快速注釋
注釋功能是我們在敲代碼過程中的高頻操作之一,和 Sublime Text 一樣,按 ? + / 會以行形式注釋光標(biāo)所在的代碼行,按 ? +? + / 則會以代碼塊的形式完成注釋。
另外,在注釋的內(nèi)容里加上 todo,就會自動被 Clion 記作待處理的代碼,當(dāng)你要提交代碼時 Clion 會提示你檢查 todo 的內(nèi)容:
代碼生成
這個功能會在特定情境下幫你自動生成一些代碼,比如類的構(gòu)造函數(shù)和析構(gòu)函數(shù)等,在需要生成的地方按? + N 即可,這個功能我最常用到的使用場景是在頭文件中聲明函數(shù)后轉(zhuǎn)到主文件中進(jìn)行定義:
另外你還可以? + J 插入完整的代碼塊,默認(rèn)只有
for
, iter
, itit
,也可以自己在Setting—>Live Templates 里添加自定義的代碼塊,比如我創(chuàng)建了一個main()
函數(shù)的代碼塊,輸入 main
就會在提示框里出現(xiàn)我們添加的代碼塊,這個真的是很方便。
最后還有一個 surround with 的功能,選中任意的代碼塊按 ? + ? + T 就可以選擇給這些代碼包裹上
if
for
等。
巧用搜索功能
搜索又是一個非常實用的功能, Clion 的搜索功能非常強(qiáng)大。
基本搜索
對于基本的搜索(也是最常用到的), ? + F 相信大家都已經(jīng)非常熟悉了,? + ? + F 則可以在整個工程中進(jìn)行搜索;按 ? + F7 可以找到某個類、變量、函數(shù)等在文中被使用到的的地方;
項目導(dǎo)航
對于一個大的項目,很多時候需要理清它的層次結(jié)構(gòu),Clion 為我們提供了項目內(nèi)文件、類等的導(dǎo)航搜索:
? + O 通過類的名字進(jìn)行搜索;
? + ? + O 通過文件名進(jìn)行搜索;
? + ? + O 通過符號名進(jìn)行搜索;
? + B 搜索聲明;
? + U 基類/函數(shù)搜索;
功能搜索
這個真的是厲害啊,按 ? + ? + A 然后輸入你想用到的功能,然后選中就可以了,尤其是當(dāng)快捷鍵太多記不住的時候真的是很實用啊。
全局搜索
當(dāng)你不知道你要搜索的東西是屬于上面哪一類的時候,就試試 Search Everywhere,只需要連按兩下 ?,就會呼出 Search Everywhere 的搜索框。
調(diào)試運行
說實話現(xiàn)在很多編輯器在代碼編輯上的功能和體驗都不輸 IDE 了,但是在項目調(diào)試和運行上 IDE 還是有著不小的優(yōu)勢,這也是很多人在大的項目里選擇 IDE 而不是代碼編輯器的原因。
首先你可以在 Run | Edit Configurations 里面配置調(diào)試運行的選項,如果你希望在編譯之前或者運行之后運行一段腳本,你可以自己添加這些額外的配置。
在 OS X 上,Clion 支持 GDB 和 LLDB ,建議使用 LLDB,調(diào)試的過程和很多 IDE 類似,你可以創(chuàng)建斷點,按右上方的小蟲或者? + ? + U 進(jìn)行調(diào)試,你可以逐行、逐語句進(jìn)行調(diào)試,Clion 很人性化的一點是調(diào)試時變量的值會直接以斜體顯示在右側(cè)(這點施加分項啊),而且 Clion 支持調(diào)試過程中更改變量的值(在調(diào)試輸出框內(nèi)選擇相應(yīng)變量右擊 set value 或者按 F2)。
ps. Clion 的調(diào)試速度并不是很快,尤其是在 Windows 平臺體驗不如 Visual Studio。
版本控制
Clion 支持 Git, mercurial 等常見的版本控制系統(tǒng),針對 Github 有特定的設(shè)置選項,可以在(Preferences -> Version Control 里進(jìn)行設(shè)置),以 Git 為例,可視化的形式涵蓋了所有常用的功能:
限于篇幅,不能把所有的 Git 操作記錄下來,相信熟悉 Git 操作的你很快就能上手。
最后
以上提到的技巧是我平時用 Clion 時的一些心得,使用習(xí)慣因人而異,所謂的技巧只有頻繁的使用才有意義,我不建議一開始就去記住那些狂拽酷炫吊炸天的快捷鍵。如果你之前有使用過 JetBrains 家其他的產(chǎn)品,那么我相信你很快就能上手 Clion,如果你是第一次使用他家的產(chǎn)品,那么這篇文章可能會對你有一點用處。
如果你需要全面了解 Clion 的功能,可以訪問 JetBrains 的官方指南,本文也有部分內(nèi)容參考了這個指南。