本文已更新,點(diǎn)擊訪問
最近學(xué)習(xí) C++,首選的代碼編輯器是 Sublime Text,這款輕便、顏值高、功能強(qiáng)大的編輯器相信是很多人敲代碼的首選,同樣 Sublime 也是我最喜愛的編輯器,但是編輯器不如 IDE 的一點(diǎn)可能就是調(diào)試功能了,其實(shí)在 Clion 之前 Mac 平臺(tái)上難說有一款綜合體驗(yàn)非常好的 C++ IDE,很多人都翹首以盼 Clion 的出世,畢竟 JetBrains 出品,必屬精品。
先提一句,JetBrains 家?guī)缀跛械漠a(chǎn)品都支持 student license,一次授權(quán)時(shí)間為一年,到期需要重新驗(yàn)證 edu 郵箱,建議學(xué)生黨們通過該方式激活,其他有能力的用戶可以購買授權(quán)支持正版。
- 快捷鍵配置
Clion 的默認(rèn)快捷鍵風(fēng)格是 Visual Studio,由于 Mac 上一般用 ? 代替 control,在 Setting—>Keymap 里修改成 Xcode 風(fēng)格即可,Clion 默認(rèn)提供8種風(fēng)格,也支持用戶 DIY。

- 代碼提示的匹配模式
Clion 代碼提示和補(bǔ)充的匹配有 All, None, First Letter 三種方式,All 需要關(guān)鍵詞完全一致才會(huì)提示,F(xiàn)irst Letter 只有關(guān)鍵詞第一個(gè)字母(區(qū)分大小寫)或下標(biāo)匹配時(shí)才會(huì)提示,而 None 則是匹配要求最為寬松的一種,不區(qū)分大小寫、不要求首字匹配,我個(gè)人比較喜歡這種,懶人福音~~

- 智能提示
官方給出的名字是 intention actions,這個(gè)和 auto-complete 不同,會(huì)根據(jù)你寫的代碼給出即時(shí)提示,比如調(diào)用某個(gè)函數(shù)漏寫了一個(gè)參數(shù)。厲害的是不僅提示這些問題或建議,同時(shí)還提供解決方案,點(diǎn)擊左側(cè)的小燈泡或者按 Alt + Enter(快捷鍵參考自己的配置)會(huì)顯示這些提示確認(rèn)后即可應(yīng)用。

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

- 快速注釋
和 Sublime Text 一樣,在選中代碼后按 ? + / 會(huì)以行形式注釋選中的代碼行,按 ? +? + / 則會(huì)以代碼塊的形式完成注釋,是敲代碼時(shí)經(jīng)常用到的功能之一。
- 代碼生成
這個(gè)功能會(huì)在特定情境下幫你自動(dòng)生成一些代碼,比如類的構(gòu)造函數(shù)和析構(gòu)函數(shù)等,在需要生成的地方按? + N 即可。另外你還可以? + J 插入完整的代碼塊,默認(rèn)只有 for, iter, itit,也可以自己在Setting—>Live Templates 里添加自定義的代碼塊,比如我創(chuàng)建了一個(gè)main()函數(shù)的代碼塊,輸入 main就會(huì)在提示框里出現(xiàn)我們添加的代碼塊,這個(gè)真的是很方便。

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

- 巧用搜索功能
搜索又是一個(gè)非常實(shí)用的功能, Clion 的搜索功能非常強(qiáng)大。
基本搜索
對(duì)于基本的搜索(也是最常用到的), ? + F 相信大家都已經(jīng)非常熟悉了,? + ? + F 則可以在整個(gè)工程中進(jìn)行搜索;按 ? + F7 可以找到某個(gè)類、變量、函數(shù)等在文中被使用到的的地方;

項(xiàng)目導(dǎo)航
對(duì)于一個(gè)大的項(xiàng)目,很多時(shí)候需要理清它的層次結(jié)構(gòu),Clion 為我們提供了項(xiàng)目?jī)?nèi)文件、類等的導(dǎo)航搜索:
? + O 通過類的名字進(jìn)行搜索;
? + ? + O 通過文件名進(jìn)行搜索;
? + ? + O 通過符號(hào)名進(jìn)行搜索;
? + B 搜索聲明;
? + U 基類/函數(shù)搜索;

功能搜索
這個(gè)真的是厲害啊,按 ? + ? + A 然后輸入你想用到的功能,然后選中就可以了,尤其是當(dāng)快捷鍵太多記不住的時(shí)候真的是很實(shí)用啊。

全局搜索
當(dāng)你不知道你要搜索的東西是屬于上面哪一類的時(shí)候,就試試 Search Everywhere,只需要連按兩下 ?,就會(huì)呼出 Search Everywhere 的搜索框。
- 調(diào)試運(yùn)行
說實(shí)話現(xiàn)在很多編輯器在代碼編輯上的功能和體驗(yàn)都不輸 IDE 了,但是在項(xiàng)目調(diào)試和運(yùn)行上 IDE 還是有著不小的優(yōu)勢(shì),這也是很多人在大的項(xiàng)目里選擇 IDE 而不是代碼編輯器的原因。
首先你可以在 Run | Edit Configurations 里面配置調(diào)試運(yùn)行的選項(xiàng),如果你希望在編譯之前或者運(yùn)行之后運(yùn)行一段腳本,你可以自己添加這些額外的配置。
在 OS X 上,Clion 支持 GDB 和 LLDB ,建議使用 LLDB,調(diào)試的過程和很多 IDE 類似,你可以創(chuàng)建斷點(diǎn),按右上方的小蟲或者? + ? + U 進(jìn)行調(diào)試,你可以逐行、逐語句進(jìn)行調(diào)試,Clion 很人性化的一點(diǎn)是調(diào)試時(shí)變量的值會(huì)直接以斜體顯示在右側(cè),而且 Clion 支持調(diào)試過程中更改變量的值(在調(diào)試輸出框內(nèi)選擇相應(yīng)變量右擊 set value 或者按 F2)。

- 最后
以上提到的一些技巧針對(duì)最基本的 Clion 使用,限于篇幅 Clion 還有很多的功能這里都沒有提到,那些更為高階的技巧需要你持續(xù)使用之后去發(fā)現(xiàn),一開始說太多反而會(huì)讓大家抓不住重點(diǎn),如果你之前有使用過 JetBrains 家其他的產(chǎn)品,那么我相信你很快就能上手 Clion,如果你是第一次使用他家的產(chǎn)品,那么這篇文章可能會(huì)對(duì)你有一點(diǎn)用處。
如果你需要全面了解 Clion 的功能,可以訪問 JetBrains 的官方指南,本文也有部分內(nèi)容參考了這個(gè)指南。
來自:fangs.in