我想把我的编程视野扩展到Linux。一个好的、可靠的基本工具集很重要,还有什么比IDE更基本呢?

我可以找到这些SO主题:

轻量级IDE linux和 你使用什么工具来开发 Linux上的c++应用程序?

我并不是在寻找轻量级IDE。如果一个IDE值那么多钱,我就会为它付费,所以它不一定是免费的。

我的问题是:

Linux有什么好的c++编程IDE ?

最小值是相当标准的:语法高亮显示、代码完成(如智能感知或其Eclipse对应版本)和集成调试(例如basic 断点)。

我自己也搜索过,但是有太多了,几乎不可能手工区分好的和坏的,特别是对于像我这样在Linux中几乎没有c++编程经验的人来说。我知道Eclipse支持c++,而且我真的很喜欢Java的IDE,但是它对c++有什么好处吗?还有更好的吗?

第二篇文章实际上有一些很好的建议,但我遗漏的是,究竟是什么让建议的IDE对用户这么好,它的(缺点)优势是什么?

也许我的问题应该是:

根据您的经验,您建议使用哪种IDE,为什么?


Checkout Netbeans,它是用Java写的,所以不管你的操作系统是什么,你都有相同的环境,它支持的不仅仅是c++。

我不会试图说服你,因为我认为ide可以是一个非常个人的选择。对我来说,它快速地提高了我的工作效率,支持我编写代码的语言,并具有您期望从IDE中获得的标准功能。


最初:混乱

在最初写这个答案的时候,我最近从Visual Studio(有多年的经验)切换到Linux,我做的第一件事就是试图找到一个合理的IDE。在当时这是不可能的:没有好的IDE存在。

顿悟:UNIX是一个IDE。全部。1

然后我意识到Linux中的IDE是命令行及其工具:

首先设置shell 对我来说是巴斯,但很多人更喜欢 鱼或 (哦,天哪)Zsh; 还有你的编辑;选择你的毒药——两者都是最先进的: Neovim2或 Emacs。

根据你的需要,你将不得不安装和配置几个插件,使编辑器工作得很好(这是一个烦人的部分)。例如,Vim上的大多数程序员将受益于智能自动补全的YouCompleteMe插件。

完成这些之后,shell就是与各种工具交互的命令界面——调试器(gdb)、分析器(gprof、valgrind)等。你设置你的项目/构建环境使用Make, CMake, SnakeMake或任何各种替代方案。使用版本控制系统(大多数人使用Git)管理代码。您还可以使用tmux(以前也使用screen)来复用(=认为有多个窗口/选项卡/面板)并持久化您的终端会话。

关键是,由于shell和一些工具编写约定,这些都可以相互集成。这样一来,Linux shell就是一个真正的集成开发环境,完全可以与其他现代ide相提并论。(这并不意味着单个ide没有命令行可能缺乏的特性,相反也是如此。)

对每个人来说

一旦你养成了习惯,我不能夸大上述工作流的功能有多好。但是有些人只是喜欢图形化编辑器,在最初编写这个答案之后的几年里,Linux已经为几种不同的编程语言获得了一套优秀的图形化ide(但据我所知,还没有用于c++)。即使像我一样,你最终不用它们,也要试一试。以下只是一小部分有偏见的选择:

对于Python开发,有PyCharm 对于R,有RStudio 对于JavaScript和TypeScript,有Visual Studio Code(这也是一个很好的全能编辑器) 最后,许多人喜欢Sublime文本编辑器进行一般的代码编辑。

请记住,这个列表还远远不够完整。


1我从dsm的评论中偷了这个标题。

我以前在这里指的是Vim。虽然普通的Vim仍然很有能力,但Neovim是一个很有希望的重启,它对一些旧缺点进行了现代化改造。


块代码: Eclipse CDT

很快您就会发现ide是不够的,无论如何您都必须学习GCC工具链(这并不难,至少要学习基本功能)。但在我看来,使用ide减少过渡痛苦并没有坏处。


你能再解释一下你的情况吗,你需要改变什么。也许你可以通过提供一些你使用的信息的链接给我指明正确的方向。

我的第一个来源实际上是工具的手册页。只要输入

$ man toolname

在命令行上($ here是提示符的一部分,而不是输入)。

Depending on the platform, they're quite well-written and can also be found on the internet. In the case of make, I actually read the complete documentation which took a few hours. Actually, I don't think this is necessary or helpful in most cases but I had a few special requirements in my first assignments under Linux that required a sophisticated makefile. After writing the makefile I gave it to an experienced colleague who did some minor tweaks and corrections. After that, I pretty much knew make.

我使用GVIM是因为我在这方面有一些(但不是很多)经验,关于Emacs或替代方案我不能说什么。我发现阅读别人的.gvimrc配置文件真的很有帮助。很多人把它放在网上。这是我的。

不要试图一次掌握所有的双utils,有太多的函数。但是要有一个大概的了解,这样你就知道将来需要什么东西的时候去哪里找了。但是,您应该知道g++和ld (GCC链接器工具,自动调用,除非显式阻止)的所有重要参数。

另外,我很好奇,编码时有代码完成和语法高亮吗?

语法高亮:是的,而且比Visual Studio好得多。代码完成:差不多。首先,我必须承认,我甚至在Visual Studio中都没有使用c++代码补全,因为(与VB和c#相比)它不够好。我现在不经常使用它,但是尽管如此,GVIM对c++有本地代码补全支持。结合ctags库和像taglist这样的插件,这几乎就是一个IDE。

实际上,是阿明·罗纳切的一篇文章激发了我的灵感。在阅读文章之前,看看文章末尾的截图!

在得到(语法)错误之前必须先编译吗?

是的。但这对于Visual Studio来说是一样的,不是吗(我从来没有用过Whole Tomato)?当然,语法高亮显示不匹配的括号,但仅此而已。

如何调试(再次考虑断点等)?

我使用gdb,这是一个命令行工具。还有一个叫做DDD的图形前端。gdb是一种现代的调试工具,可以做您在IDE中可以做的所有事情。唯一真正让我恼火的是读取堆栈跟踪,因为行没有缩进或格式化,所以当你使用很多模板时(我就是这样做的),很难扫描信息。但这些也会使ide中的堆栈跟踪变得混乱。

就像我说的,我很“荣幸”在高中时使用windows记事本和命令行Java编译器迈出了我在Java编程语言中的第一步,它是…嗯,噩梦!当然,当我把它和我当时学的其他编程课程进行比较时,我们有不错的IDE

您甚至不应该尝试将现代的全功能编辑器(如Emacs或GVIM)与Notepad进行比较。记事本是一个修饰的文本框控件,这真的使所有的不同。此外,在Linux和Windows中使用命令行是一种非常不同的体验。Windows cmd.exe严重损坏。PowerShell要好得多。

/EDIT: I should mention explicitly that GVIM has tabbed editing (as in tabbed browsing, not tabs-vs-spaces)! It took me ages to find them although they're not hidden at all. Just type :tabe instead of plain :e when opening a file or creating a new one, and GVIM will create a new tab. Switching between tabs can be done using the cursor or several different shortcuts (depending on the platform). The key gt (type g, then t in command mode) should work everywhere, and jumps to the next tab, or tab no. n if a number was given. Type :help gt to get more help.


虽然我使用Vim,但我的一些同事使用SlickEdit,看起来很不错。我不确定集成调试,因为我们不能在我们的特定项目上这样做。

SlickEdit确实对导航大型代码库提供了很好的支持,包括交叉引用和标记跳转。当然,它也有一些基本的功能,比如语法高亮显示和代码完成。


作为一个老UNIX用户,我总是使用Emacs。但这有一个相当陡峭和漫长的学习曲线,所以我不确定我是否可以向新手推荐它。

对于Linux来说,真的没有一个“好的”IDE。Eclipse对于C/ c++不是很好(CDT正在改进,但还不是很有用)。其他的则缺少您要寻找的所有功能。

了解所有单独的工具(gcc、make、gdb等)是如何工作的真的很重要。这样做之后,您可能会发现Visual Studio做事的方式非常有限。


我听说Anjuta对Gnome用户来说很好用。我用KDevelop玩了一会儿,感觉不错,但有点缺乏特色。Code: Blocks也很有前途,我最喜欢这个。


我非常喜欢Ultimate++的IDE。它有一些被设计为与自己的库一起使用的特性(顺便说一下,如果你不想在GTK+或QT上购买,这是一个相当不错的工具包),但它与一般的c++项目一起工作得非常好。它提供了良好的代码补全、良好的语法着色、集成调试以及大多数现代ide支持的所有其他特性。


If you like Eclipse for Java, I suggest Eclipse CDT. Despite C/C++ support isn't so powerful as is for Java, it still offers most of the features. It has a nice feature named Managed Project that makes working with C/C++ projects easier if you don't have experience with Makefiles. But you can still use Makefiles. I do C and Java coding and I'm really happy with CDT. I'm developing the firmware for a embedded device in C and a application in Java that talks to this device, and is really nice to use the same environment for both. I guess it probably makes me more productive.


我不想重复答案,但我想我可以再补充一点。

Slickedit是一个优秀的IDE。

It supports large code-bases well without slowing down or spending all its time indexing. (This is a problem I had with eclipse's cdt). Slickedit's speed is probably the nicest thing about it, actually. The code completion works well and there are a large amount of options for things like automatic formatting, beautification and refactoring. It does have integrated debugging. It has plug-in support and fairly active community creating them. In theory, you should be able to integrate well with people doing the traditional makefile stuff, as it allows you to create a project directly from one, but that didn't work as smoothly as I would have liked when I tried it. In addition to Linux, there are Mac and Windows versions of it, should you need them.


一个简单的回答,只是为了给这个话题增加一点知识: 你一定要看看NetBeans。Netbeans 6.7特性如下:

C/ c++项目和模板:支持语法高亮显示, 自动完成代码,自动缩进。 它有一个C/ c++调试器 支持编译器配置,配置管理器和Makefile支持 向导)。 它有一个类窗口,一个用法窗口和一个文件导航窗口(或面板)。 一个宏展开视图,还有工具提示。 支持QT开发。

我认为它是Visual Studio的完美替代品,也是学习C/ c++的好工具。

好运!


Konrad的建议非常棒,在经典的vi/cc/ld/db/make环境中,你应该可以轻松高效地工作。很多很多大学生在10-15周的课程中学习了这个工具链。

也就是说,另一个经典环境是走Emacs路线。我不会将其称为IDE,但它确实将两个重要的开发工具集成到编辑器中:编译器的输出和调试器。您可以让它压缩到文件中与编译器错误对应的行,您可以设置断点并从编辑器中使用步进。


我喜欢SciTE作为Linux上c++ /Python的基本编辑器。它有类似于VC的键盘绑定,所以你不需要重新编程你的剪切粘贴手指。

我将它与Git一起用于源代码控制,并使用非常有用的' Git grep'命令在代码库中进行搜索。

我使用Eclipse CDT,但我的源代码库太大了,我花了太多时间在IDE上等待。如果你的项目较小,这可能对你有好处。


Sun Studio版本12是免费下载的(免费和付费支持可用)- http://developers.sun.com/sunstudio/downloads/thankyou.jsp?submit=%A0FREE+Download%A0%BB%A0。

我确信您在这个IDE中有代码完成和调试支持,包括插件支持。

Sun Studio可用于Linux和Solaris。 论坛:http://developers.sun.com/sunstudio/community/forums/index.jsp。 Sun Studio Linux论坛:http://forum.sun.com/forum.jspa?forumID=855

我渴望听到您对这个工具的反馈。

BR, ~一个


对这个问题有一个快速的跟进…

自从我开始使用Vim作为我的主要“GUI”已经有一个月了 在Linux下编程c++的工具。首先是学习 曲线确实有点陡,但过了一段时间,随着 正确的选项打开和脚本运行我真的 掌握诀窍了!

我喜欢如何塑造Vim以满足您的需求; 只需添加/更改键映射,Vim就变成了一个 高效的“IDE”。

在Linux上构建和编译c++程序的工具链是 也很直观。Make和g++是你需要的工具 使用。

调试器ddd并不是真的那么好,但是 也许是因为我还没有时间去掌握它 正常。

所以对于那些正在或正在寻找一个好的c++ IDE的人来说 Linux,就像我一样,你最好的赌注在于标准 Linux本身(Vim, g++, ddd)和你 真的应该至少尝试使用它们,然后再寻找 sonething别的……

最后但并非最不重要的,我真的想感谢康拉德 他的回答是,它真的帮我找到了自己的路 Linux开发环境,谢谢!

我也不会结束这个问题,所以大家可以 React或甚至添加新的建议或添加到 已经是很好的答案了……


我很高兴你和vim解决了问题。但是我不得不说,我对您已经“非常喜欢Eclipse for Java”感到有点困惑,这意味着您已经熟悉它的工作原理了。在这种情况下,为什么不在c++中也使用它呢?CDT满足您提到的所有要求。


为什么不把它也用在c++中呢? CDT满足您的所有要求 提及。

我一开始没有使用eclipse,因为我不确定它是否同样能够(高效地)为我提供在c++中开发的方法。除此之外,我还确信在Linux中必须有更好、更专业的工具用于c++开发:

我真的很喜欢java的eclipse IDE, 但是它对c++有什么好处吗 错过一些公平的东西 更好吗?

我真诚地相信,尽管一些工具(比如eclipse)在很多方面都很出色,但最好还是寻找其他的选择(我不是说只针对IDE,而是一般情况,甚至在现实生活中)…… 就像在这种情况下,vim真的很棒,如果我坚持一些我已经知道的东西,我就会错过它。


我真的建议使用代码块。它不像Eclipse那么沉重,而且它有Visual Studio项目支持。


在Visual Studio环境下长大,我发现相对年轻的Code::Blocks非常熟悉。


我以前用过Ultimate++ IDE,它相当不错。


至少对于Qt特定的项目,Qt Creator(来自Nokia/Trolltech/Digia)显示出很大的希望。


然后我注意到这根本不是你在那里工作的方式*,我把所有东西都扔了,花了几天时间阅读手册,设置我的shell (bash),设置一个GVIM环境,学习GCC/binutils工具链,make和gdb,从此过上了幸福的生活。

我在很大程度上同意这个观点,但问题也是一种认知:我们忘记了在任何选择的IDE(或其他环境)中变得高效是多么困难。我发现IDE (Visual Studio, NetBeans, Eclipse)在很多方面都非常麻烦。

作为一个老UNIX用户,我总是使用Emacs。但这是相当陡峭的 而且学习曲线很长,所以我不确定我能不能把它推荐给新人。

我同意;在Linux和MSW (XP2,W2K)上使用Emacs作为我的主要编辑器。 我不同意它有陡峭的学习曲线,但可以说,因为大量的功能,它有一个很长的学习曲线。你可以在短时间内变得富有成效,但如果你愿意,你可以在未来几年学习它的新功能。

但是,不要指望Emacs的所有功能都可以在下拉菜单中找到,因为下拉菜单中有太多的功能。

正如我提到的,我已经在MSW上使用GNU Emacs很多年了。在我“升级”到2008年之前,它总是能很好地与Visual Studio一起工作;现在,在从磁盘刷新文件之前,它有时会延迟许多秒。在VS窗口中编辑的主要原因是“智能感知”代码完成功能。


我推荐geany


我建议您阅读UNIX编程的艺术。它将引导您使用环境作为IDE。


使用Mono-Develop。它与Visual Studio非常相似。它是跨平台的,非常棒!!


SlickEdit. I have used and loved SlickEdit since 2005, both on Windows and on Linux. I also have experience working in Visual Studio (5, 6, 2003, 2005) and just with Emacs and command line. I use SlickEdit with external makefiles, some of my teammates use SlickEdit, others use Emacs/vi. I do not use the integrated debugger, integrated version control, integrated build system: I generally find too much integration to be real pain. SlickEdit is robust (very few bugs), fast and intuitive. It is like a German car, a driver's car.

最新版本的SlickEdit似乎提供了许多我不感兴趣的功能,我有点担心这个产品在未来会变得臃肿和稀释。目前(我使用V13.0)它很棒。


我个人最喜欢的是CodeLite 2。x IDE。

参见:http://www.codelite.org

使用CodeLite的决定是基于对以下Linux c++ IDE的研究:

Eclipse Galileo与CDT插件 NetBeans 6.7(它也是SunStudio IDE的基础) KDevelop4 CodeBlocks 8.02 CodeLite 2.倍

毕竟我决定使用CodeLite 2.x。

下面我列出了关于上述c++ ide的一些优点和缺点。请注意,这只是我个人的意见!

编辑:很遗憾,SOF不支持表格,所以我必须写在段落…

Eclipse Galileo与CDT插件

优点:

合理的快 也支持Java, Perl(带E.P.I.C插件) 常用且维护良好 也适用于其他操作系统(Windows, MacOS, Solaris, AIX(?))

缺点:

GUI非常混乱,有些不一致——一点都不直观 重的重量 仅支持CVS (AFAIK)

NetBeans 6.7(注意这也是SunStudio IDE的基础)

优点:

这是我见过的最直观的GUI之一 也支持Java, Python, Ruby 集成CVS, SVN, Mercurial 常用且维护良好 也适用于其他操作系统(Windows, MacOS, Solaris)

缺点:

非常的缓慢 重的重量 使用空格缩进,这不是我工作的政策。我相信这是可配置的,但我不知道如何做到这一点

KDevelop4(注意:我没有对它进行太多测试)

优点:

Linux上常用 集成CVS, SVN, Mercurial

缺点:

GUI看起来有些过时 重的重量 非常特定于KDE环境

CodeBlocks 8.02(注意:我没有对它进行太多测试)

优点:

合理的快

缺点:

GUI看起来有些过时(尽管它有一个很好的启动屏幕) 编辑器中的字体非常小 一些图标(例如调试器相关的开始/步进图标)非常小 没有源代码控制集成

CodeLite 2。X(注:这是我个人的最爱)

优点:

我在Linux上见过的最好的、现代的、直观的GUI 轻量级 合理的快 集成了SVN 也适用于其他操作系统(Windows, MacOS, Solaris(?))

缺点:

没有CVS集成(这对我来说很重要,因为我必须在工作中使用它) 不支持Java, Perl, Python(如果有的话就好了)


make + vim + gdb = 一个伟大的 IDE


也许Linux Tools Project for Eclipse可以满足您的需求?

Linux Tools项目旨在为Linux开发人员提供功能齐全的C和c++ IDE。我们以CDT的源代码编辑和调试特性为基础,并集成了流行的本地开发工具,如GNU Autotools、Valgrind、OProfile、RPM、SystemTap、GCov、GProf、LTTng等。目前的项目包括LTTng跟踪查看器和分析器、RPM .spec编辑器、Autotools构建集成、Valgrind堆使用分析工具和OProfile调用分析工具。


我使用Eclipse CDT和Qt Creator(用于Qt应用程序)。

这是我的偏好。这是一个很有启发性的问题,有多少开发者就有多少答案。:)


对我来说,Ultimate++似乎是编写跨操作系统程序的最佳解决方案


简短的回答是:选择您喜欢的任何“编辑器”,然后使用GDB控制台或简单的GDB前端来调试应用程序。调试器带有别致的ide,例如Netbeans对于C/ c++来说很糟糕。我使用Netbeans作为编辑器,Insight和GDB控制台作为调试器。

有了洞察力,您就有了一个漂亮的GUI和GDB的原始功能。

一旦您习惯了GDB命令,您就会开始爱上它,因为您可以做使用GUI永远无法做的事情。如果您使用的是GDB 7或更新版本,您甚至可以使用Python作为脚本语言。

这里的大多数人更关注ide的“编辑器”。然而,如果你正在用C/ c++开发一个大型项目,你可能会很容易地把70%以上的时间花在“调试器”上。高级ide的调试器至少落后于Visual Studio 10年。例如,Netbenas与Visual Studio有非常相似的接口。但是与Visual Studio相比,它的调试器有许多缺点。

Very slow to display even a array with only a few hundreds of elements No highlighting for changed value ( By default, visual studio shows changed values in the watch windows in red) Very limited ability to show memory. You cannot modify the source code then continue to run. If a bug takes a long time to hit, you would like to change the source and apply the changes live and continue to run your application. You cannot change the "next statement" to run. In Visual Studio, you can use "Set Next Statement" to change how your application runs. Although this feature could crash your application if not used properly, but it will save you a lot of time. For instance, if you found the state of your application is not correct, but you do not know what caused the problems, you might want to rerun a certain region of the your source codes without restarting your application. No built-in support for STL such as vector, list, deque and map etc. No watch points. You need to have this feature, when you need to stop your application right at the point a variable is changed. Intel based computers have hardware watch points so that the watch points will not slow down your system. It might takes many hours to find some hard-to-find bugs without using watch points. "Visual Studio" calls "watch pointer" as "Data BreakPoint".

这个清单可以长得多。

Netbeans或其他类似ide的缺点让我非常沮丧,所以我开始学习GDB本身。我发现GDB本身非常强大。广发银行并不具备上述所有的“缺点”。实际上,GDB非常强大,在许多方面甚至比Visual Studio还要好。我给你们看一个非常简单的例子。

例如,你有一个这样的数组:

struct IdAndValue
{
  int ID;
  int value;
};


IdAndValue IdAndValues[1000];

当应用程序停止时,您希望检查IdAndValues中的数据。例如,如果你想在数组中找到特定“ID”的序数和值,你可以创建一个像下面这样的脚本:

define PrintVal 
set $i=0
printf "ID = %d\n", $arg0
while $i<1000
  if IdAndValues[$i].ID == $arg0
    printf "ordinal = %d, value = %d\n", $i, IdAndValues[$i].vaue
    set $i++
  end
end
end

您可以在当前上下文中使用应用程序中的所有变量,包括您自己的变量(在本例中为$i)、传递的参数(在本例中为$arg0)以及所有GDB命令(内置或用户定义)。

使用GDB提示符中的PrintVal 1打印ID为“1”的值

顺便说一下,NetBeans确实附带了一个GDB控制台,但是通过使用控制台,您可能会使NetBeans崩溃。我相信这就是为什么控制台在NetBeans中默认是隐藏的


如果你长期使用vim,那么你应该把它作为你的IDE。有很多插件可用。我发现其中一些非常有用,并在这里编译,看看它。

C / c++ IDE 源代码浏览器

还有更多的vi / vim技巧系列。


我更喜欢使用Emacs和Vim来编写c++代码。当我需要使用IDE时,我使用代码块。


大约3年前,我在大学项目中使用Anjuta。我最近都不用它了。但那时候很好,所以在最新版本中应该会更好。


Code::Blocks很棒。


我是用“Geany”发现好的,到目前为止,它的快速和轻重量IDE。

Geany的特点包括:

代码折叠 会话保存 基本IDE特性,如语法高亮显示、制表符、自动缩进和代码完成 简单的项目管理 构建系统 颜色选择器(在web开发中非常方便) 嵌入式终端仿真 电话技巧 符号列表 自动完成公共结构(如if、else、while等)


我喜欢人们完全忽略了最初问题中对IDE的要求。Linux不是一个IDE。这不是那些词的意思。我用vi、gcc和make学习了c和c++,我不是说它们不是合适的工具,但它们不是IDE。即使您使用更复杂的工具,如vim或emacs或任何您想要的高级编辑器,在命令行上输入命令也不是IDE。

你们都知道make是visual studio的一部分?认为IDE是“限制”的想法是愚蠢的,如果你可以使用IDE来加速某些事情,但仍然能够在需要时使用命令行。

综上所述,我建议像上面几个人一样,尝试代码块。它有很好的代码高亮,一个相当容易的方法来创建一个项目,编码,运行它,等等,这是一个真正的IDE的核心,而且看起来相当稳定。调试糟透了……我从未在任何linux/unix版本中见过一个像样的交互式调试器。广发银行不是。如果您习惯了visual studio风格的调试,那么您就很不走运了。

不管怎样,我要去收拾我的东西了,我知道只有一个视图的linux人群会大声嚷嚷,很快把我赶出城。


您还可以尝试将emacs设置为IDE。

详情在这里讨论。


艾克米,九号计划的山姆,

您可以通过用户空间中的Plan 9使用它。


vim编辑器+ g++编译器(GNU c++) + gdb -可能会帮助你


IntelliJ IDEA + C/ c++插件http://plugins.intellij.net/plugin/?id=1373

准备好让你大吃一惊吧。

干杯!


在我看来,最好的Linux IDE是SlickEdit。它花费了一些钱,但它是快速的,对标签和伟大的diff工具的支持,在巨大的项目中工作得很好。


对于基于CMake的项目,我使用Jetbrains CLion

对于基于Autotools的项目,已经提到的Qtcreator。

其他一切:VIM + you完成


在Linux上有很多ide:

块代码: Codelite KDevelop Qt的创造者 带有CDT的Eclipse NetBeans

根据我的经验,最有价值的是Eclipse和Qt Creator。 两者都提供了所有“标准”功能(即自动补全、语法高亮、调试器、git集成)。 值得注意的是,Eclipse还提供了重构功能,而Qt Creator提供了与Valgrind的集成,并支持在远程目标上部署。

商业版的CLion IDE看起来也不错(但我没有广泛使用)。