Linux上用于C ++和C开发的IDE的比较:KDevelop,Eclipse,NetBeans,CodeBlocks和Anjuta


49

我想指出您在Linux上使用全尺寸IDE的经验。

我个人主要与一起工作vim,但是其他程序员希望看到一个真正的IDE。因此,在以下情况下,我想听听您对不同IDE的个人看法以及它们之间的比较:

  • C ++,也许还有一些C开发(不是Java,Python和其他东西)
  • 服务器端编程(无需GUI开发)
  • 在Linux上工作而不是“跨平台”开发。

需要考虑的意见:

  1. 它的稳定性如何?如果IDE崩溃,则不需要它。
  2. 使用舒适。
  3. 强大的调试功能。
  4. 与各种构建系统集成
  5. 大型项目(数十万行代码的项目)的可伸缩性

我曾经使用过KDevelop,它是一个非常不错的IDE,似乎KDevelop 4是一个巨大的进步。似乎还有许多人宁愿使用Netbeans和Eclipse。


9
我对您将获得的答案非常感兴趣,如果有人对我感兴趣的其他两点感到不满意,我将非常感激他们提供的答案。5万个文件/ 3000万行的项目可扩展性对项目结构的适应性,这不是IDE默认使用的结构。我的实验已经进行了几年,但那时我尝试的所有事情在这些方面都失败了。
AProgrammer

@AProgrammer-非常好,已添加到列表中。
Artyom

您也可以查看CodeLite- codelite.org。不幸的是,我在大型项目中使用它的经验不足。尽管如此,还是值得一试。
rsc

使用projectclang_complete插件以及正确配置的make,vim将为您提供几乎IDE所能提供的一切(调试除外)。我怀疑那些和你在一起的人仍然会保持活力。当然可以
1月Hudec

我只是想知道自己。感谢您发布此问题。
暂停

Answers:


39

这是我对IDE的个人经验。我安装了所有可能找到的IDE,并与它们一起玩(这是我建议您做的事情):

  • 发展

我个人使用它。我安装的版本崩溃了,但是我从他们的站点下载了最新版本,并且运行良好。它配置简单,使用方便。他们通过插件支持自定义构建系统。您可能会发现一些奇怪的功能(例如仅解析直接包含的标头),但通常对大型项目而言效果很好。

  • 日食

超级复杂的配置,但实际上可以进行所有操作。如果您有足够的时间找到使每个人都满意的正确配置,那么就去做吧。但是尝试更改任何东西都非常烦人,因为它有太多选择。

  • anjuta和代码块

我很快尝试了一下,它不如前两个。代码块适用于短期项目,但不适用于中型和大型项目。

  • 网豆

另一个不错的IDE,但是由于我的家是在网络上共享的,并且我从事的项目相当大,所以速度非常慢。它一直解析。

  • qtcreator

配置简单,但是缺少很多选项。例如,最奇怪的是它无法解析并自动完成qt类。支持自定义构建系统。


结论:

  • 如果您足够耐心(或者您找到了不错的配置),请选择Eclipse。它确实是最好的免费IDE。
  • 如果您想要简单的配置,请使用kdevelop。

另一个选择是同时安装两者,并让您的开发人员选择更适合他们的东西。


16
Eclipse是Java的一小部分....除非绝对没有其他选择,否则没有理由使用它。在我的PC上,它在一分钟之内就启动了。纳夫说,不是吗?
编码器

10
@Coder好吧,您只需启动一次,即可全天使用它而无需重新启动。那是个主意。1分钟与您一天可以使用多长时间相比毫无意义。
2011年

6
@VJovic:切换选项卡所需的时间从18秒到1秒,具体取决于选项卡,并且减速并非首先仅使用减速。相比之下,甚至Visual Studio似乎也很活泼。
编码器

7
@Coder正如爱迪生所说,您的安装或环境不好。我的日食超快。选项卡切换几乎是即时的。
2011年

4
Ecilpse像筛子一样泄漏内存。具有16 Gig RAM的多用户Linux机器,随着Eclipse(CDT)的几个实例运行了几天,用完了RAM。因此,启动缓慢是个问题,因为您需要每天至少重新启动一次,或者放慢速度,然后吸引开发团队。Eclispe RAM使用-600Meg /实例以100 /天的速度增长。功能齐全的IDE 50Meg /实例以0 /天的速度增长,VIM,10Meg以0 /天的速度增长。一个价格为每座250美元的商业IDE,由于每天要加载Eclipse的生产力下降,因此仅显示不到1年的ROI。
mattnz

13

看看Qt Creator。

  • 很稳定 我不记得有任何崩溃。
  • 可能需要一些时间来适应没有标签的情况,但是总体界面还是不错的。
  • 它使用gdb。调试不如Visual Studio出色,但仍然相当不错。现在它还与Profiler(Valgrind)集成。
  • 它与qmake和CMake集成。但是您可以运行自定义命令,因此应该几乎可以使用所有命令。
  • 关于大型项目,无话可说,但是它是由编写Qt的人制造和使用的,因此要求很高。
  • 似乎没有对项目结构做任何假设。

我前一段时间尝试过KDevelop 4。它肯定是朝着正确的方向发展,但有一些小问题。您可能仍要尝试一下。

我使用CodeBlocks的时间很短,但是我记得我不喜欢它,因为Interface很难看。


8

许多开发商GCC(海湾合作委员会和具有源代码5-9百万行,这取决于你如何指望他们)只是使用emacsvi与像公用设施grepctagsetagsmakesvngcc,等)。

您不需要IDE即可开发大型软件。

如果您的软件足够大(例如,至少30万行),您甚至可以考虑通过插件或MELT扩展来自定义GCC ,以实现软件指标,软件导航,特定警告,编码规则等目的。


10
那不是问题。正如我指出的那样,我主要使用vim(带有grep,ctags等)-我知道它的优势。但是,许多程序员更喜欢IDE
Artyom

1
IDE对于C ++类相关的功能特别有用,这些功能在Vim中很难很好地配置。原始C可以使用ctags。
Ciro Santilli新疆改造中心法轮功六四事件

6

我主要使用Eclipse。使用KDevelop多年来一直很满意,但是现在我从事多语言项目(C,C ++,PHP,Java,Python,数据库,Web等)的工作。

Eclipse的优势:适用于一切的许多工具(包括版本控制);对于语法检查和自动完成非常有效。编译/构建/调试时做得很好。它是多平台的(Linux,Windows,Solaris等)
缺点:有些功能或设置是一场噩梦(例如,当您必须将项目从工作站部署到服务器时,Eclipse会保留某种缓存,如果它认为服务器上的文件是“最新的”,文件不会被覆盖)。Eclipse 非常强大,它阻塞了您的大部分CPU电源,并耗尽了所有内存。有关更多信息,请访问http://www.ihateeclipse.com

KDevelop速度很快,非常适合C / C ++和KDE / Qt项目,但是缺少一些功能,例如对Mercurial的支持(KDevelop 3.3.4,对于较新的版本不知道)。


4

Visual SlickEdit-商业版,就像其他任何好的工具一样,“行之有效”。开箱即用地处理各种语言,高度可配置,并且如果需要,可以完全编程,从而在GDB周围放置了GUI进行调试。处理非常大的项目(我将其用于500万个以上SOLC的代码库,其中大约100万个我在其中使用。)-赢得了无数奖项,此后就变得越来越好。试试吧

Eclipse-使用Java编程时的首选工具,对于任何受支持的单一语言都可以。用Java写,供Java开发人员开发Java程序。但是每个微小的小功能和主要功能都需要插件。一次不能同时使用一种以上的语言。


4

Netbeans是一个速度很慢的IDE。我们不是在使用“恐龙计算机”,而是这个IDE困扰了很长时间。如果我们通过网络访问Netbeans IDE(例如,使用VNC),那就不用管它了!!!滞后非常严重,以至于无法使用Netbeans!

我发现Eclipse难以设置为初次使用,但是如果您坚持不懈,那么您将获得一个IDE,它具有您可能想要或需要的一切(可能是通过插件的方式)。

我不想使用多个IDE,而且我怀疑您也不会。我会推荐Eclipse及其所有缺点。


4

所以...我只是添加了另一种观点,但我认为您不能选择它作为vim用户,因此

emacs + gdb http://www.cs.bu.edu/teaching/tool/emacs/programming/

首先,这将是最轻便的IDE(我什至可以称其为操作系统)和最可定制的,因此您可以用最少的资源使用量来完成所有工作,除了一些Lisp配置脑力劳动资源。

就我个人而言,当我有一个认真的项目时,我正在使用Visual Studio。但是当我需要在Linux上工作时,我运行emacs。(我也不喜欢qt)

另外(主要是因为我喜欢在那里的last.fm插件和clojure支持)我找到了一个不错的Linux IDE(出于某些原因,仍然尝试从它=='切换到emacs)IDEA,我不建议将它用于C ++,但也许也不错,因此您可以将其添加到列表中。


1

QT和CodeBlocks都可以。我最近使用CodeBlocks。

它可以为makefile项目进行配置,代码完成大多数情况下都可以工作,并且不会像MSVS中那样挂起,定义起来非常快。功能浏览也做得很好。

这里有一些小问题,但是对于Linux上的日常工作来说非常棒,恕我直言。


0

我在Linux上使用IDE的唯一尝试是在2005年,但是那时我没有尝试过任何IDE(KDevelop,eclipse,Anjuta)都没有用,所以我回到了vim + ctags + gdb并将其用于Linux编码。


也许您是知道答案的人:如何在vim中转到另一类层次结构(父/子实现)中的某个方法实现。
Sergei

例如在Eclipse中,方法名称上的组合为Ctrl + T。
谢尔盖(Sergei)

@Sergei抱歉,ctags不支持该功能。您可能会遇到
Nemanja Trifunovic
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.