Effective Eclipse CDT (一)

本文中用eclipse代指eclipse CDT。

本文內(nèi)容基于當(dāng)前最新的eclipse neon版本, 請于eclipse官網(wǎng)下載,并持續(xù)跟蹤eclipse最新版本。

Install

由于windows和mac系統(tǒng)上的安裝相對簡單,下面的安裝過程基于linux系統(tǒng)。我個人在ubuntu14.04下經(jīng)過測試。

Eclipse安裝之前需要先安裝JDK。

Install JDK

  • Download JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • Install JDK
sudo mkdir -p /usr/local/lib/java
sudo tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/lib/java
cd /usr/local/lib/java && sudo ln -s jdk1.8.0_91 default
  • Export JAVA_HOME and PATH
echo 'export JAVA_HOME=/usr/local/lib/java/default' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
  • Verify
$ java -version

Install Eclipse

  • Download eclipse
http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neonr
  • Install eclipse
sudo mkdir -p /usr/local/eclipse
sudo tar zxvf eclipse-cpp-neon-R-linux-gtk-x86_64.tar.gz -C /usr/local/eclipse
cd /usr/local/eclipse && sudo ln -s eclipse default
  • Add eclipse to PATH
echo "export ECLIPSE_HOME=/usr/local/eclipse/default" >> ~/.bashrc
echo "export PATH=$ECLIPSE_HOME:$PATH" >> ~/.bashrc
source ~/.bashrc
  • Verify
eclipse &

Global Configuration

初次打開eclipse,如下圖。勾掉右下角的Always show Welcome at start up,然后點擊右上角的Workbench圖標(biāo)進入主界面。

點擊菜單欄 Window -> Preferences,在里面進行eclipse的全局配置。

設(shè)置字體

有美感的程序員裝好IDE后的第一要事肯定是先配置一個好字體。編碼最好使用等寬字體,如果你是在mac系統(tǒng)上,那么默認(rèn)的字體就很不錯;而Ubuntu下自帶的”Ubuntu Mono“也很漂亮;Windows上自帶的等寬字體"Courier"則有些中規(guī)中矩。更換字體時看到名字里面帶有mono的基本都是等寬字體。

如果想選跨平臺的第三方字體,值得推薦的有”Inconsolata“,”Consolas“和”Source Code Pro“。這些字體系統(tǒng)沒有自帶,需要自行安裝。

本文推薦”Source Code Pro“,它是Adobe發(fā)布的一款面向程序員的非常漂亮的開源字體集,可以在github下載。

安裝字體

  • Windows系統(tǒng):

將下載下來的”source-code-pro/ttf“目錄里的字體文件拷貝到系統(tǒng)盤下”windows/fonts“目錄下即可完成安裝;

  • Linux系統(tǒng):

在個人主目錄下建立.fonts目錄,將下載下來的”source-code-pro/ttf“里面的字體文件拷貝進去即可;

  • Mac系統(tǒng):

打開 ”Finder -> 應(yīng)用程序 -> 字體冊“; 添加下載下來的”source-code-pro“目錄,即可完成安裝;

安裝好字體后,重啟eclipse。

修改字體

  • ** Window -> Preferences -> General -> Appearance -> Colors and Fonts -> C/C++ -> Editor -> C/C++ Editor Text Font **

點擊Edit,選擇自己喜歡的字體;字號一般設(shè)置為10或者11比較合適;

修改快捷鍵

  • ** Window -> Preferences -> General -> Keys **

在上面位置進行快捷鍵設(shè)置,我一般直接使用eclipse默認(rèn)的。

在ubuntu下,eclipse常用的復(fù)制行的快捷鍵Ctrl + Alt + Down和系統(tǒng)默認(rèn)的切換工作區(qū)的快捷鍵沖突了。由于我一般不用ubuntu的擴展工作區(qū),所以我會把ubuntu自身的快捷鍵進行修改。具體在 系統(tǒng)設(shè)置 -> 鍵盤 -> 快捷鍵 -> 導(dǎo)航 -> 切換至上側(cè)工作區(qū) 以及 切換至下側(cè)工作區(qū),將這兩個快捷鍵刪除,或者改成別的。

設(shè)置代碼風(fēng)格

代碼風(fēng)格是一個仁者見仁的事情,下文的所有配置都是我比較喜歡的風(fēng)格,你可以根據(jù)自己的口味進行調(diào)整。

  • ** Window -> Preferences -> General -> Editors -> Text Editors **

Displayed tab witdth設(shè)為4; 勾選上Insert spaces for tabs 以及 Show line number

  • ** Window -> Preferences -> C/C++ -> Code Style -> Code Templates **

在這里配置各種默認(rèn)代碼模板,包含文件頭注釋模板、函數(shù)頭注釋模板、以及各種文件模板。例如我一般會在這里對C++默認(rèn)的頭文件模板進行修改,去掉文件頭注釋,去掉文件結(jié)尾對”include guard“的重復(fù)注釋等等。

在這里可以點擊Export將自己配置好的Code Templates導(dǎo)出去,以便備份和共享。

  • ** Window -> Preferences -> C/C++ -> Code Style -> Formatter **

在這里設(shè)置默認(rèn)的代碼格式化風(fēng)格。由于我個人喜歡大括號單獨一行對齊,所以一般基于eclipse自帶的BSD/Allman模板進行修改。

如上圖,在Active profile中選擇BSD/Allman后,點擊Edit進行修改。我一般的修改如下:

- Indentation:
    - Tab policy : 改為 ”Spaces only“
    - Statements within switch body : 打上勾
    - Declarations within namespace definition: 打上勾
    - Empty lines : 打上勾
- Braces:
    - Initializer list : 改為 ”Same line“
- New Lines:
    - before colon in constructor initialzer list : 打上勾
- Control Statements:
    - Insert new line before catch in a try statement : 打上勾
    - Keep simple if on one line : 打上勾
- Line Wrapping:
    - Function declarations -> Constructor initializer list :
        - Default indentation for wrapped lines : 設(shè)為0
        - Default indentation for initializer lists : 設(shè)為0

最后對設(shè)置好的code formatter起個新名字??梢栽谶@里點擊Export將配置好的formatter導(dǎo)出去,以便備份和共享。

  • ** Window -> Preferences -> C/C++ -> Code Style -> Name Style **

Code -> Include Guard里面,將Include guard macro name設(shè)置為Unique identifier;

這樣eclipse自動生成的頭文件模板里面,頭文件的include guard默認(rèn)為一個隨機的全局唯一UUID,這樣設(shè)置的原因是當(dāng)你重命名頭文件或者修改頭文件路徑后,不用再去手動修改頭文件的include guard,避免include guard不小心重名導(dǎo)致的難以定位的編譯問題。

另外在當(dāng)前頁面下,可以配置C++頭文件名、源文件名以及測試文件名之間的規(guī)則關(guān)系,見下圖。在開發(fā)的過程中遵守這里配置的文件命名規(guī)范,會有很多好處。首先eclipse靠這里的文件命名規(guī)則關(guān)聯(lián)類的頭文件和實現(xiàn)文件。當(dāng)你的類名、頭文件名、實現(xiàn)文件名和測試文件名按照上圖中的配置規(guī)則保持一致,重命名類名后,eclipse會自動關(guān)聯(lián)修改頭文件名,實現(xiàn)文件名和測試文件名以及所有對頭文件的include路徑名。

這里我一般會將 Files -> C\++ Test FilePrefix設(shè)置為"Test", Suffix設(shè)置為".cpp",讓測試文件名稱保持 ”Test*.cpp“。

  • ** Window -> Preferences -> C/C++ -> Code Style -> Organize Includes **

該標(biāo)簽下設(shè)置和頭文件包含相關(guān)的選項。Eclipse默認(rèn)對自動添加的頭文件按照設(shè)置的規(guī)則進行排序。如果不想要自動排序,那么就勾選掉 Allow reordering of includes。

Organize Includes -> Include Style中可以設(shè)置頭文件包含規(guī)則和順序。

Grouping標(biāo)簽頁里面,我一般會設(shè)置所有的頭文件類型以尖括號包含(將Use angle brackets打鉤)。另外,設(shè)置系統(tǒng)頭文件和前面所有的空一行(選擇System Header,將Separate from previous includes by a blank line打鉤);

Ordering標(biāo)簽頁中,我會調(diào)整頭文件的包含順序,將系統(tǒng)文件放在最后,如下圖:

  • ** Window -> Preferences -> C/C++ -> Editor -> Syntax Coloring **

該標(biāo)簽下可以設(shè)置語法配色方案。我一般只改一點,就是宏引用的顏色。因為宏一般被我作為語法糖來來用,所以希望其色彩和關(guān)鍵字比較像(偏暗紅,類似關(guān)鍵字,但有所區(qū)別)。修改如下:

Code -> Macro references 下,將EnableBold打鉤,然后點擊Color,將顏色調(diào)為#BF4040。

Others

  • ** Window -> Preferences -> C/C++ -> Editor -> Scalability **

在該標(biāo)簽里面可以設(shè)置eclipse解析文件規(guī)模的一些選項。最關(guān)鍵的一個是Enable scalability mode when the number of lines in the file is more than用來設(shè)置默認(rèn)最大完全解析的文件行數(shù),默認(rèn)是5000。對超過5000行的文件eclipse為了避免消耗資源過多將會只進行部分解析,至于解析哪些,可以在下面進行設(shè)置。在eclipse下開發(fā),不建議產(chǎn)生大文件。如果是閱讀遺留代碼,可以根據(jù)自己系統(tǒng)資源能力將5000改的更大。

  • ** Window -> Preferences -> C/C++ -> Editor -> Templates **

在這里New一種新的代碼template,取名cn,Pattern設(shè)為${file_base}::。這樣當(dāng)你類名(假如MyClass)和文件名(MyClass.cpp)相同的時候,你在文件內(nèi)敲cn會自動補全為MyClass::。這樣在實現(xiàn)文件內(nèi)寫類的成員函數(shù)實現(xiàn)時會比較方便。

這里還可以配置其它代碼塊模板,配置好后可以點Export將其導(dǎo)出。

  • ** Window -> Preferences -> C/C++ -> File Types **

這里可以增加新的文件類型。我一般會用*.tcc類型的文件做模板的實現(xiàn),所以在這里增加新的文件類型。點擊New,創(chuàng)建新的文件類型*.tcc,Type設(shè)為C\++ Header File

  • ** Window -> Preferences -> General -> Workspace **

關(guān)于workspace的設(shè)置,有兩個可以關(guān)注。一個是設(shè)置eclipse構(gòu)建前自動保存所有文件Save automatically before build;另一個是當(dāng)代碼注釋中出現(xiàn)中文亂碼時,嘗試修改最底下的 Text file encoding,將其改為GBK。建議最好還是不要用中文注釋的好,避免編碼不一致帶來的亂碼問題。

  • ** 導(dǎo)出配置 **

前面介紹的Code Templates, Code Formatter, Editor Templates需要單獨導(dǎo)出成xml文件!

其余的主要配置,可以通過 File -> Export -> General -> Preferences 進行導(dǎo)出。勾選你要導(dǎo)出的選項,然后將其導(dǎo)出為一個epf文件。

關(guān)于前面介紹的Code Formatter和全局配置我已經(jīng)導(dǎo)出了,上傳在github。

其中g(shù)lobal-config.epf是全局配置,選擇 File -> Import -> General -> Preferences 將其導(dǎo)入eclipse。

code-formatter.xml是formatter的模板,在Window -> Preferences -> C/C++ -> Code Style -> Formatter中點擊Import將其導(dǎo)入。

Effective Eclipse CDT (二)
Effective Eclipse CDT (三)

最后編輯于
?著作權(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)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,881評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • 一、簡介 eclipse可謂是Java開發(fā)界的神器,基本占據(jù)了大部分的Java開發(fā)市場,而且其官方還對其他語言提供...
    簡單應(yīng)用閱讀 2,430評論 0 14
  • 斷橋初見碎羅衣, 細(xì)雨新題, 舊夢堪尋何處覓? 依稀, 深院孤燈悵別離。 別後天涯無限期。 西窗誰憶? 秋心剪影對...
    魚玄機會讀心閱讀 279評論 1 1
  • 其實我們不是在追求愛情平等,因為我們都明白哪有完全平等的愛情呢,總有一個人更喜歡對方一點。 我們期望的是有對等的承...
    董江閱讀 167評論 3 0

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