C/C++ IDE CodeLite 2.0 發布

2021-01-14 開源中國

對於剛剛接觸編程的人來說,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 才有這個)。

如果大家對這個項目感興趣可以嘗試一下。

附上網址:

相關焦點

  • CodeLite 5.1 發布,C++ 集成開發環境
    CodeLite可在各種作業系統上工作: Windows XP SP3 Windows 7 and 8 Debian / Ubuntu Fedora / OpenSUSE Mac OSX 10.5.8 FreeBSD 5.1版本的更新內容:(1) 使用CMake構建;(2) codelite_indexer支持強枚舉分析(3) 修正了在創建工程時因為選擇其類型二導致的奔潰
  • 17 個 Linux 下用於 C/C++ 的最好的 IDE
    主頁:https://netbeans.org/features/cpp/index.html2.最重要的是,你可以通過用戶開發的插件擴展它的功能,一些插件是隨同 Code::Blocks 發布的,而另外一些則不是,它們由 Code::Block 開發團隊之外的個人用戶所編寫的
  • 剖析C語言中a=a+++a的無聊問題
    c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile
  • 基於ARM920T微處理器的IDE硬碟接口設計與實現
    S3C2410處理器是Samsung 公司基於ARM公司的ARM920T處理器核,採用0.18umSU造工藝的32位微控制器。該處理器擁有獨立的16KB指令Cache和16KB數據Cache、MMU、支持TFT的LCD控制器、NAND快閃記憶體控制器、3路UART、4路DMA、4路帶PWM的Timer、I/O口、RTC、8路10位ADC、TouchScreen接口、IIC-BuS接口、IIS-BuS接口、2個USB主機、1個USB設備、SD主機和MMC接口和2路SPI。S3C2410處理器最高可運行在268MHz。
  • C/C++免殺CS shellcode實踐
    ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0), ctypes.c_int(len(shellcode)), ctypes.c_int(0x3000),
  • 一種基於ARM920T的IDE硬碟接口設計方案
    S3C2410處理器是Samsung 公司基於ARM公司的ARM920T處理器核,採用0.18umSU造工藝的32位微控制器。硬碟上寄存器分為兩組,分別由IDE_CS0和 IDE_CS1選中,DA0~DA2則用於組內寄存器尋址;數據線DD0~DD15因存在輸入/輸出方向問題,故用nOE(讀信號)接 buffer(74LVTH162245)的DIR引腳來控制緩衝器方向;控制信號部分因該CPU與硬碟之間DMA時序不一致,故採用一塊 EPM7032AETC44-7晶片用於調整其時序。
  • Keepalived 2.0.14 發布,C 語言編寫的路由軟體
    Keepalived 2.0.14 已發布, Keepalived 是一款用 C 編寫的路由軟體。
  • 51筆記2:keil中建立多個c文件時,變量重複定義
    c/c++語言中有很多地方要用到extern,但是如果沒有真正的了解它的意義,會給編程帶來很大的麻煩,為了使大家少走彎路,特祥細的說明一下。
  • 【Rust日報】2020-09-05 微軟在c+靜態分析工具實現了一些rust的...
    微軟在c++靜態分析工具實現了一些rust的安全規則 Rust和c++是兩種流行的系統程式語言。多年來,c++的焦點一直放在性能上。我們越來越多地聽到來自客戶和安全研究人員的呼籲,認為c++語言應該有更強的安全保證。
  • 「記」詳解C語言之格式
    #C語言初學#在開始說明本文主題之前,我想有必要科普下C語言的歷史:C語言誕生於美國的貝爾實驗室,由D.M.Ritchie以B語言為基礎發展而來,在它的主體設計完成後,Thompson和Ritchie用它完全重寫了UNIX,且隨著UNIX的發展,c語言也得到了不斷的完善
  • material2 發布 7.0.1,Angular 的 Material Design 風格框架
    Angular 的 Material Design 風格框架 material2 發布了 7.0.1 版本,這主要是一個 bug
  • c++ 內存,虛函數,運算函數,三角函數
    計算機原理中的位向量表示集合:a=[01101001]表示{0,3,5,6}b=[01010101]表示{0,2,4,6}最終a&b={01000001}={0,6}以題目的例子來講,a=[01101001
  • C/C++每日一問--判斷素數
    原理:素數(質數),在一般領域,對正整數n,如果用2到根號下n之間的所有整數去除,均無法整除,則n為素數。即:素數大於等於2,不能被它本身和1以外的數整除。開發環境:Win10,VS2015具體程序如下:/*@Filename:main.c@author:Bagman@date :2020.07.10@function :本程序主要關於求素數問題。
  • DSP編程技巧之24---C/C++與彙編語言的交互之-(2)從C/C++代碼調用...
    (2)在C++程序中,extern "C"聲明用來告訴編譯器使用C語言的命名規則,而不是使用C++中的函數命名轉換(Name Mangling)在連結時對函數名進行修改,不然就找不到對應的彙編函數了(mangle在英語中是「亂砍」的意思,可以據此想像一下它的效果,不知道當初發明C++語言的人是怎麼想到的。。。)。
  • 15 款免費IDE,推薦給開發者 - OSCHINA - 中文開源技術交流社區
    Code::Blocks (codeblocks)是一個開源、免費、跨平臺的c++ IDE。官方網站上稱其能滿足最苛刻的用戶的需求。雖有點誇張,但既然敢這樣說,也說明它的功能肯定不差。Code::Blocks是用c++編寫的(用wxWidgets庫),捆綁了MinGW編譯器。 Eclipse (Windows, Mac, Linux)
  • Redis 3.0.0 RC4 發布,無 Redis Cluster 修復
    Redis 3.0.0 RC4 發布,此版本是唯一不包括 Redis Cluster bug 修復的 RC 版本!
  • 基於C++的電力潮流計算牛-拉法與P-Q法的分析比較
    通過ifstream DataFile(filename.c_str())語句打開數據輸入文件,對輸入文件數據流操作,將相應信息導入與之對應的結構體變量,完成輸入文件模塊化。8-0.083420.862130.311671.07791-0.07474
  • C++程式設計師的職業生涯規劃
    ); 4、深刻理解網際網路視頻播放原理,對ffmpeg等框架有實際的使用經驗; 5、有視頻直播、點播、視頻會議、監控安防等方面經驗優先 6、熟悉Nginx/Squid模塊開發優先考慮,有FMS等流媒體伺服器搭建經驗、P2P系統研發經驗、知名優秀的視頻產品服務端設計和研發經驗優先考慮 二、應用開發工程師windows /linuxc++