對於剛剛接觸編程的人來說,Vim 和 Emacs 需要一段時間的學習才能上手,一款 VS 風格的可視化 IDE 還是有必要的。在這裡我要介紹的就是這樣一款基於 wxWidgets 的跨平臺 C/C++ IDE -- CodeLite。
個人比較喜歡 IDE 的補全,就先介紹下曾經使用過的一些 IDE 的補全:
OmniCppComplete,Vim 的補全插件,需要 Ctags,對於 Boost 這樣大的庫,有時一旦我按下快捷鍵令其補全時,會對 include/boost 文件夾進行掃描,非常慢(我的配置中沒有 path 內容,有誰指點我為什麼?),有些補全結果集中很多內容不符合上下文。
NetBeans,實時分析補全,很強大,不但補全代碼,還能補全 include,且代碼的補全是根據 include 情況和預定義的預處理進行的(對於條件編譯代碼,不是一股腦全部進入補全結果集,僅有預處理後真正被編譯的部分才進入補全結果集,很強大),需要裝個巨大 的 Java 平臺和一堆依賴。
VS 很強大,不能在 Linux 下用。
CodeBlocks,同為基於 wxWidgets 的跨平臺 C/C++ IDE,發展的也很不錯,我經常使用,代碼補全似乎也是實時分析的,補全能力也很強,但僅支持預處理的替換(比如 _GLIBCXX_STD 替換成 std),不支持完全的預處理指令。
CodeLite:在 1.x 系列中,CodeLite 需手動指定 include 路徑生成 tag 資料庫,然後指定當前加載哪些庫(類似於 Vim + Ctags),到了 2.0 系列中,CodeLite 只需指定 include 路徑,而 tags 的生成是根據 #include 指令分析而按需加載的(無需手動生成),與 NetBeans 相似,也可以指定預處理定義,沒有 include 的內容也不會進入補全結果集。
另外 CodeLite 集成 wxformBuilder,方便進行 wxWidgets 的 GUI 開發;可以自定義 Makefile 生成命令(比如我先用 cmake 生成 Makefile);集成 Cscope;有類似於 Eclipse 的 quickoutline 和全局符號搜索,方便在當前文件或整個工程中搜索、跳轉到定義、聲明;使用 continous build 插件,後臺自動編譯修改的文件,編譯錯誤無需整個工程 build 時就可顯示(VS 2010 才有這個)。
如果大家對這個項目感興趣可以嘗試一下。
附上網址: