題:
具有豐富功能集的Windows C ++ IDE:代碼完成,重構等
ApproachingDarknessFish
2014-02-05 02:47:26 UTC
view on stackexchange narkive permalink

我正在尋找應在Windows 8上運行的C ++集成開發環境。該程序理想上應支持以下功能:

  • 代碼完成/提示
  • 縮進輔助
  • 語法突出顯示
  • 重構(至少可以重命名變量,類,函數等)
  • 代碼導航(類似於 ctrl kbd> +在Eclipse Indigo中單擊)

此外,IDE應該符合 standards 標準,這意味著它不使用編譯器或代碼解析器故意並故意違反C ++標準( Microsoft Visual Studio也是如此),並在用戶編寫不符合標準的代碼時通知用戶(儘管編譯器可能接受)

這一次,我不能購買不是免費的產品,但我願意接受描述相對便宜(例如,< $ 100)產品的答案。

>
這裡需要區分標準遵從性與用於編譯代碼的基礎工具鏈嚴格相關。 IOW,IDE不能違反c ++標準,因為它不負責將您的源代碼轉換為可運行的代碼-編譯器。
從JetBrains嘗試CLion。
您對vi和/或emacs有多少經驗?即使經驗是幾十年前,也請數一下。 (就像您永遠不會忘記如何騎自行車一樣,您也永遠不會完全忘記如何在vi中僅需很少的擊鍵就可以完成惡酷的事情。)
-1
“ IDE應該符合標準”-該請求實際上對IDE沒有意義,因為作業標準的合規性屬於基礎編譯器,而不是IDE。例如。如果您使用Code :: Blocks並告訴其使用MSVC,那麼您在鏈接中提到的非標準行為當然會以相同的方式起作用。
@ApproachingDarknessFish:好!您是否嘗試過[evil-mode](https://www.emacswiki.org/emacs/Evil)?這是Vim出色的鍵盤映射以及Emacs的大部分功能的結合。另請參見YouTube上的[四分鐘演示視頻](http://youtu.be/Uz_0i27wYbg)。
我注意到Clang和GCC都試圖彼此兼容,並且GCC在標準之外有很多擴展。
@ApproachingDarknessFish:請考慮接受似乎確實有效的註釋,請考慮不接受CodeBlocks答案。
@Brandin:我建議對問題進行編輯,以使該短語表示其合理含義以及OP可能實際想要的含義。
-1
@Brandin OP已受過教育,但對這個問題不再感興趣。隨時根據社區的需要進行編輯。
八 答案:
#1
+18
ConfusedStack
2014-02-11 08:17:23 UTC
view on stackexchange narkive permalink

代碼:: Blocks

如果您要在使用多個平台的團隊中工作,我將為Windows推薦此版本。它可以處理配置更改,因此您永遠不會注意到您的隊友沒有使用相同的操作系統。它是一個功能非常強大的現代IDE,但是對於某些項目而言可能太多了。它可以直接使用許多編譯器工具鏈,並且可以針對幾乎所有非標準工具進行配置。

正如官方網站所說,Code :: Blocks是“ ...開源,跨平台,免費C,C ++和Fortran IDE。”

功能

  1. 導入MSVC項目和Dev-C ++項目
  2. 開源
  3. 本地跨平台
  4. 編寫在C ++中。不需要解釋語言或專有庫。
  5. 可通過插件擴展
  6. 語法突出顯示,可自定義和擴展
  7. 代碼完成/提示
  8. 縮進協助
  9. 代碼導航
  10. ol>

    更多功能信息可在官方網站此處找到。

    Screenshot from developer's site

這提供重構支持嗎?怎麼樣?
代碼:::塊不再維護。我建議改為使用Qt Creator。無論如何還是更好。
@Timmmm:實際上,似乎Code :: Blocks網站尚未整年更新。
#2
+14
Ken Herbert
2014-02-05 03:14:11 UTC
view on stackexchange narkive permalink

有一個用於Netbeans的C / C ++捆綁包

我可以驗證它是否具有語法突出顯示,代碼完成和代碼格式化/縮進輔助。

雖然我個人還沒有使用過C ++包,但是我每天都使用Java和PHP,並且基於cntrl + click導航和重構的存在,我認為它們也應該出現在C ++捆綁軟件。

我對Netbeans唯一真正的缺點是,有時在幾個小時後,由於(我認為是)內存洩漏(至少是這樣),它可能變得遲鈍,甚至無法響應。在64位Windows 7上),這時您需要終止關聯的java.exe進程以釋放內存。不過,這個問題可能已經解決,因為我已經有幾個月沒有經驗了。

#3
+12
Felix D.
2014-02-06 03:12:18 UTC
view on stackexchange narkive permalink

CDT項目提供了基於 Eclipse平台的功能齊全的C和C ++ IDE。功能包括:支持各種工具鏈的項目創建和託管構建,標準make構建,源導航,各種源知識工具,例如類型層次結構,調用圖,包括瀏覽器,宏定義瀏覽器,帶有語法突出顯示,折疊和超鏈接的代碼編輯器導航,源代碼重構和代碼生成,可視化調試工具,包括內存,寄存器和反彙編查看器。 (

CDT Project Screenshot of multiple windows

我不會說它是全功能的-畢竟,它的重構功能幾乎為零,並且像您在Java的Eclipse中一樣,它不提供自動的錯誤解決方案和警告解決方案-但是它正在實現。也許十年後它會變得不錯...(不要誤會我-我每天都使用它)。
#4
+6
SoleSoul
2015-08-16 16:46:24 UTC
view on stackexchange narkive permalink

CLion

CLion UI

這是具有高級功能的跨平台IDE ReSharper C ++中已知的C ++支持。該IDE由IntelliJ Idea和Android Studio背後的公司JetBrains提供。

可在Windows,Linux和MacOS上運行。

關於功能:

  • 代碼完成-它可以完成變量名,類成員,頭文件名以及C ++ IDE所需的所有內容。

  • 縮進-具有可配置的自動縮進。

  • C ++和一些Web語言都具有語法高亮顯示。

  • 高級重構支持。也許是C ++ IDE中最好的。它允許您重命名變量和類,將代碼提取到單獨的函數,在類層次結構中上/下移動成員,移動和復制代碼,而我可能沒有涵蓋所有內容。

  • 代碼導航-允許Ctrl + Click轉到定義,搜索引用以及在您訪問的代碼位置中前後移動。

  • 良好的靜態分析。在一次編譯代碼之前,您可以查看並更正大多數錯誤。它還會警告其他IDE(例如未使用的include)會忽略的情況。

  • 代碼生成-您可以自動為未知變量生成聲明,或使用其源代碼和標頭創建新類文件。

CLion的另一個優點是它使用CMake CMakeLists.txt文件作為其項目文件,而不是使用新格式。這樣可以開發具有或沒有IDE的項目,並且可以輕鬆地將項目導入其中。

當前,個人使用成本為100美元,開放源代碼開發是免費的。

#5
+5
ConfusedStack
2014-02-10 07:18:29 UTC
view on stackexchange narkive permalink

Orwell Dev-C ++

很早以前,Dev-C ++可能是Windows上免費的C / C ++ IDE,但它有很多問題,而原始版本已有相當長的一段時間沒有維護。 Orwell版本修復了許多已知問題。至少值得一試。還值得一提的是另一個名為 WX-Dev-C ++的fork,它可能對RAD GUI開發很有用,但是該版本也沒有得到維護。

Orwell Dev-C ++版本: (Orwell Dev-C++ version)From the developer's sourceforge site WX-Dev-C ++版本 (WX-Dev-C++ version) From the developer's site 原始Dev-C ++版本: (Original Dev-C++ version:)From the developer's site

所有版本均支持的功能:

  1. 支持基於GCC的編譯器
  2. 集成調試(使用GDB)
  3. 支持多種語言(本地化)
  4. 類瀏覽器
  5. 代碼完成
  6. 調試變量瀏覽器
  7. Project Manager
  8. 可自定義的語法突出顯示編輯器
  9. 快速創建Windows,控制台,靜態庫和DLL
  10. 支持模板用於創建自己的項目類型
  11. 創建文件
  12. 編輯和編譯資源文件
  13. 工具管理器
  14. 打印支持
  15. 查找和替換設施
  16. 程序包管理器,以便輕鬆安裝附加庫
  17. CVS支持
  18. 待辦事項列表
  19. CPU窗口
  20. ol>

    WX版本對此進行了擴展:

    1. 所見即所得 wxWidgets資源編輯器
    2. ol>

      Orwell版本對此進行了擴展:

    3. MinGW GCC 4.8.1 32位
    4. TDM-GCC 4.8.1 32/64位
    5. 語法突出顯示
    6. 代碼完成
    7. 將鼠標懸停在代碼上方時顯示有關代碼的信息
    8. 提供用戶可編輯的快捷方式和工具
    9. GPROF分析
    10. GDB調試
    11. Devpak IDE擴展
    12. ol>

      社區dev-pak(插件)也存在。 devpaks.org是一個不錯的網站。另外,似乎在位於該外部線程中的Orwell有WX dev-pak擴展,但是我尚未對其進行測試。

我目前在我的C ++開發中使用WxDev-C ++,如果您不需要WxWidgets,我真的不會推薦它。即使如此,它所具有的主要錯誤數量,尤其是GUI設計器與代碼不同步,也使Visual Studio成為WxWidgets的首選環境。
是的,我希望它能得到更好的維護。您是否嘗試過代碼塊? http://wiki.codeblocks.org/index.php?title=WxSmith_tutorial:_Hello_world
我使用過奧威爾(Orwell),雖然它可用(並且比流血要好得多),但是它仍然缺少我想要的許多功能。不過,我將檢查WX。
因此,僅Windows?
#6
+1
FourtyTwo
2016-07-07 02:59:42 UTC
view on stackexchange narkive permalink

Qt Creator

IDE在Qt5時代已經成熟,足以成為大多數Qt開發人員的首選。這需要相當多的功能,這使得IDE現在也可以很好地用於非Qt項目。

Pro的:

  • 帶有可選的MinGW工具鏈,當
  • 將MinGW和MSVC工具鏈集成在一起無需付出額外的努力,包括使用它們進行調試。
  • CMake支持
  • >
  • 可用的插件數量眾多
  • 最新的IDE可能會提供全套IDE功能。

缺點:

  • 難以集成Qt安裝程序不附帶的C ++工具鏈
我同意這是迄今為止最好的,尤其是內置了clang代碼模型和靜態分析之後。實際上,它現在比Intellisense更好。這個問題中提到的所有其他IDE都落後了*年(除非我沒有嘗試過CLion)。
#7
  0
ConfusedStack
2014-02-11 08:23:58 UTC
view on stackexchange narkive permalink

Geany

根據官方網站,“ [i] t的開發目的是提供一個小型,快速的IDE,它與其他對象之間只有很少的依賴關係它支持許多文件類型,並具有一些不錯的功能。“

這是一個很棒的最小化程序編輯器,具有 Windows端口。它相對便宜($ 0 < $ 100),可在Windows 8上運行,不對編譯器做任何假設,(AFAIK)維護C ++標準,因為默認情況下,它對C / C ++使用GNU gcc / g ++(可以使用已安裝的任何編譯器) ),並具有您要的許多功能。儘管比某些其他企業解決方案有更多限制,尤其是在資源匱乏的環境中,但它可以保持自己的地位,因為:

功能:

  1. 代碼完成/提示
  2. 縮進輔助
  3. 語法突出顯示
  4. 更新:它確實支持最小的重構和重排(並且有一些工具/插件可以對此進行改進)
  5. 代碼導航(如果聲明在打開的文件中,則為Ctrl)
  6. ol>

    與之相似的是令人驚嘆的程序 Notepad ++,以及Unix / GNULinux強大的 vim emacs變體,但我推薦Geany,因為它易於使用,學習曲線幾乎為零,並且:

    還具有以下功能:

  • 免費
  • 跨平台
  • 提供了無論平台是什麼,您都具有相同的外觀和感覺(儘管這是高度可定制的)
  • 將支持多語言(通常大型項目可能會使用腳本等), ce只需要一個IDE)
  • 沒有編譯器假設-可以輕鬆使用任何C ++兼容工具鏈
  • 非常可定制
  • 非常輕巧
  • 在POSIX系統(Linux)下完成終端集成

Screenshot found online of software

就我個人而言,當我使用GUI在Linux上快速編寫代碼時,我幾乎只使用此IDE。它具有一些非常好的C / C ++功能,通常保留給更大的程序。它速度很快,幾乎可以打開任何非二進制格式的文檔。它具有不錯的按鍵命令,例如切換行,複製以及多行縮進和註釋控制。您可以在其中使用VIM(作為其提供的終端訪問的一部分)。它可以節省構建軟件的方式,而無需項目自包含其自身的構建選項。例如,即使沒有makefile(可與功能鍵一起使用),您也可以保存基於文件類型可選擇的構建選項。如果您經常使用並鏈接有多個庫,但又希望能夠快速編寫,編譯和測試它們,這將很有用。例如,我最終在geany上經常使用的兩個自定義命令是 g ++ -Wall -o“%e”“%f”'allegro-config --cflags --libs' Allegro4程序或 nvcc -arch = sm_20 -o“%e” * .o -lcudart'pkg-config opencv --cflags --libs'來構建還使用OpenCV的CUDA應用程序。保存這些文件後,可以從下拉框中選擇它們,也可以將其用作每個.CPP文件或與之關聯的任何文件類型的功能鍵。我還發現它的打印格式和以語法突出顯示為PDF的代碼(使用Linux CUPS IIRC)對於處理類的程序文檔非常有用。由於資源如此之少,我可以在便攜式Linux上使用它,並且已經對其進行了自己的設置/配置,此後,我在每個項目上節省了無數的時間。要添加到現有項目中,只需製作一個新的.CPP文檔或從文件管理器中打開一個現有文檔,您就已經在工作,而不是在配置,構建模板,手動添加庫等。

說明這如何很好地支持C ++。如果沒有,那實際上不是答案。
鑑於我如何使用它,我已經解釋了它如何很好地支持C ++,並回答了OP的問題。
它如何處理重構? (OP:“至少重命名變量等。”)實際上這確實很難做到。如果Geany(您告訴我們)做到了,那麼它是如何做到“正確”的呢?
#8
  0
Felix D.
2017-06-24 19:16:59 UTC
view on stackexchange narkive permalink

Visual Studio代碼

這是適用於多種編程語言的靈活IDE,並且通過許多插件很好地支持C ++。它於2015年發布,並得到了積極維護。請參見 Wikipedia的引言:

Visual Studio Code是Microsoft為Windows,Linux和macOS開發的源代碼編輯器。它包括對調試,嵌入式Git控制,語法突出顯示,智能代碼完成,代碼段和代碼重構的支持。它也是可自定義的,因此用戶可以更改編輯器的主題,鍵盤快捷鍵和首選項。它是免費且開源的,儘管官方下載已獲得專有許可。

Screenshot from Wikipedia



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...