工欲善其事,可能會有用的Clion技巧

半年前我開始用 Clion,順帶著寫了一篇心得記錄使用 CLion 的技巧,沒想到發(fā)布在簡書后瀏覽量還是挺高的,居然還獲得了人生中第一筆真正的打賞,感動之余也決定重新整理一下,加上這半年來的實際使用體驗。這篇文章會通過 Mac 版進行介紹(除了個別按鍵以外,差別不大),添加了演示動畫。

關(guān)于授權(quán)

JetBrains 全家的產(chǎn)品幾乎都支持 student license,所有產(chǎn)品!所有產(chǎn)品!所有產(chǎn)品!重要的事情要說三遍一次授權(quán)時間為一年,到期需要重新驗證 edu 郵箱,建議學(xué)生黨們通過該方式激活,戳這里申請,其他有能力的用戶可以購買授權(quán)支持正版。

快捷鍵配置

Clion 的默認快捷鍵風(fēng)格是 Visual Studio,Windows 用戶就不用改了, Mac 上一般用 ? 代替 control,在 Setting—>Keymap 里修改成 Xcode 風(fēng)格即可,Clion 默認提供8種風(fēng)格,也支持用戶 DIY。

設(shè)置快捷鍵風(fēng)格

由于我經(jīng)常使用 Sublime Text,希望在一些共同的功能能夠保持相同的快捷鍵,所以我自己 DIY 了一些:

  1. Add selection for Next Occurrence (多重選擇) —> ? + D
  2. Unselect Occurrence (取消選擇) —> ? + U
  3. Build (編譯) —> ? + B
  4. Select Line at Caret (選中光標(biāo)所在行) —> ? + L

代碼提示的匹配模式

Clion 代碼提示和補充的匹配有 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,快捷鍵參考自己的配置)會顯示這些提示確認后即可應(yīng)用。


智能提示

快速修復(fù)

這個功能作用和智能提示有點類似,相比之下區(qū)別在于快速修復(fù)專注于一些容易出現(xiàn)的小錯誤,比如忘記;, 判斷中用=等很容易出現(xiàn)的小錯誤,Clion 也會顯示小燈泡引起你的注意,快捷鍵和智能提示一樣,按下 ? + ? 就可以快速修復(fù)。

快速修復(fù)

快速注釋

注釋功能是我們在敲代碼過程中的高頻操作之一,和 Sublime Text 一樣,按 ? + / 會以行形式注釋光標(biāo)所在的代碼行,按 ? +? + / 則會以代碼塊的形式完成注釋。

另外,在注釋的內(nèi)容里加上 todo,就會自動被 Clion 記作待處理的代碼,當(dāng)你要提交代碼時 Clion 會提示你檢查 todo 的內(nèi)容:


todo

代碼生成

這個功能會在特定情境下幫你自動生成一些代碼,比如類的構(gòu)造函數(shù)和析構(gòu)函數(shù)等,在需要生成的地方按? + N 即可,這個功能我最常用到的使用場景是在頭文件中聲明函數(shù)后轉(zhuǎn)到主文件中進行定義:

生成代碼

另外你還可以? + J 插入完整的代碼塊,默認只有 for, iter, itit,也可以自己在Setting—>Live Templates 里添加自定義的代碼塊,比如我創(chuàng)建了一個main()函數(shù)的代碼塊,輸入 main就會在提示框里出現(xiàn)我們添加的代碼塊,這個真的是很方便。

插入代碼塊

最后還有一個 surround with 的功能,選中任意的代碼塊按 ? + ? + T 就可以選擇給這些代碼包裹上 if for 等。

代碼包裹

巧用搜索功能

搜索又是一個非常實用的功能, Clion 的搜索功能非常強大。

基本搜索

對于基本的搜索(也是最常用到的), ? + F 相信大家都已經(jīng)非常熟悉了,? + ? + F 則可以在整個工程中進行搜索;按 ? + F7 可以找到某個類、變量、函數(shù)等在文中被使用到的的地方;


cl_QST_find_usages.png

項目導(dǎo)航

對于一個大的項目,很多時候需要理清它的層次結(jié)構(gòu),Clion 為我們提供了項目內(nèi)文件、類等的導(dǎo)航搜索:

? + O 通過類的名字進行搜索;
? + ? + O 通過文件名進行搜索;
? + ? + O 通過符號名進行搜索;
? + 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 進行調(diào)試,你可以逐行、逐語句進行調(diào)試,Clion 很人性化的一點是調(diào)試時變量的值會直接以斜體顯示在右側(cè)(這點施加分項?。?Clion 支持調(diào)試過程中更改變量的值(在調(diào)試輸出框內(nèi)選擇相應(yīng)變量右擊 set value 或者按 F2)。

調(diào)試界面

ps. Clion 的調(diào)試速度并不是很快,尤其是在 Windows 平臺體驗不如 Visual Studio。

版本控制

Clion 支持 Git, mercurial 等常見的版本控制系統(tǒng),針對 Github 有特定的設(shè)置選項,可以在(Preferences -> Version Control 里進行設(shè)置),以 Git 為例,可視化的形式涵蓋了所有常用的功能:

版本控制

限于篇幅,不能把所有的 Git 操作記錄下來,相信熟悉 Git 操作的你很快就能上手。

最后

以上提到的技巧是我平時用 Clion 時的一些心得,使用習(xí)慣因人而異,所謂的技巧只有頻繁的使用才有意義,我不建議一開始就去記住那些狂拽酷炫吊炸天的快捷鍵。如果你之前有使用過 JetBrains 家其他的產(chǎn)品,那么我相信你很快就能上手 Clion,如果你是第一次使用他家的產(chǎn)品,那么這篇文章可能會對你有一點用處。

如果你需要全面了解 Clion 的功能,可以訪問 JetBrains 的官方指南,本文也有部分內(nèi)容參考了這個指南。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文已更新,點擊訪問 最近學(xué)習(xí) C++,首選的代碼編輯器是 Sublime Text,這款輕便、顏值高、功能強大的...
    鏈球選手閱讀 98,175評論 27 33
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,802評論 25 709
  • 2017.09.15 周五 多云 晚上我和兒子聊天,兒子突然要告訴我一件事情,還要求我不能生氣。我心里只打小鼓,這...
    戴驍勇閱讀 528評論 0 1
  • 一葉知秋落海堤,蕭瑟昏夕,渫雨凄迷。天開陰霽夢依稀,鴻雁輕啼,望斷云低。 殘熱猶威汗染衣,茶飲神移...
    海1619閱讀 288評論 2 7
  • 再有一個禮拜左右就到了立秋時節(jié)了,我不確定,或許是兩個禮拜。這太陽依舊晚睡早起,霸占大部分的夜。約四五點鐘,天色就...
    簡書拾荒者閱讀 302評論 0 1

友情鏈接更多精彩內(nèi)容