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

我可以找到这些SO主题:

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

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

我的问题是:

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

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

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

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

也许我的问题应该是:

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


当前回答

块代码: Eclipse CDT

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

其他回答

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

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

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

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

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

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

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

然后我注意到这根本不是你在那里工作的方式*,我把所有东西都扔了,花了几天时间阅读手册,设置我的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窗口中编辑的主要原因是“智能感知”代码完成功能。

我个人最喜欢的是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(如果有的话就好了)

我推荐geany