这基本上是一个副本: Netbeans or Eclipse for C++?
但是,这个问题已经3年多了,而且从那以后发生了很多变化。
我有一个带有自定义(但基于Makefile的)构建系统的大型代码库。我特别想知道的领域包括:
有没有人有机会评估Netbeans和Eclipse?
编辑:作为一个后续问题,鉴于甲骨文最近的“开放”努力的糟糕历史,这里的任何Netbeans用户是否都关注其未来? (打开Solaris,MySQL,Open Office)
谢谢
答案 0 :(得分:11)
我不能评论日食,但是对于netbeans 7,我会说对我来说非常重要的事情,到目前为止工作正常:
有时可行的东西,有时候不会
那些还没有工作的东西,我非常关心:
那些不太有用的东西,但我不在乎:
总之,IDE非常实用。我希望有机会在Indigo Eclipse上尝试最新的cdt,但到目前为止,我没有那么多真正的理由去研究
答案 1 :(得分:9)
我无法对Netbeans发表评论,但我可以为您提供有关Eclipse的信息。我在UNIX系统上使用C ++,在探索我不了解的大型代码库时,我已经开始使用Eclipse。我不使用它来构建,但是只需要命令就可以很容易地将我们的构建系统与它集成。
Eclipse拥有您正在寻找的大部分内容:(我说的是Eclipse / CDT)
您不仅可以完全自定义语法突出显示,还可以使用模板格式化代码。我的公司有一个代码标准,用于间距,标签和功能和条件代码的格式化,我只需很少的努力就可以修改现有模板以符合我们的代码标准。
导航也不错,如果您突出显示并将鼠标悬停在变量上,它会在弹出的小气泡中显示定义。如果对类型执行相同操作,则会显示定义类型的位置。对于函数,它将显示函数实现的前几行,并提供扩展它并查看整个函数的选项。我发现所有这些都很适合代码发现和导航。您还可以突出显示变量,并使用右键单击菜单选项跳转到其声明。
我想通过代码提示你指的是智能感知这样的东西?这是我在查看大型代码库时使用Eclipse的主要原因。只需点击'。'或' - >'一秒钟后你会得到你的选择。
调试器UI非常强大。您可以在工具中启动gdb,它允许您以图形方式移动代码,就像在ddd或Visual C ++等工具中一样。它提供标准功能,如查看寄存器,内存,观察变量等。
话虽如此,我发现了一些弱点。首先,它不是非常容易地支持CVS和SVN之外的修订控制系统(集成到GUI中)。我找到了我们公司使用的系统的插件,但是它会浪费XML和Unicode垃圾。在命令行上使用修订控件更容易。我怀疑这是插件的问题,而不是Eclipse。我希望有更好的工具集成。
第二个抱怨是,对于每个项目,我必须手动设置包含目录和库路径。也许环境变量可以规避这个?或者我可能只是不知道如何正确设置。然后,如果开发人员不明白如何做到这一点,我认为这是工具的弱点。
总而言之,我喜欢使用Eclipse。这不是我的主要编辑环境,但我很感激它在大型代码库上工作。
答案 2 :(得分:4)
我是Netbeans的忠实粉丝。我和你的情况类似,但创建项目非常容易。只需将Netbeans指向代码检出的位置,它就会为自己找出大部分内容。我很少做任何配置。但有一点需要注意,如果你的树非常大,可能需要一些时间才能完全索引 - 虽然它确实存在,但是内存和cpu将被打包在盒子上。
与cvs的集成非常棒,而Hudson集成对于CB来说非常酷。我自己并没有使用过Git,尽管我认为这是一个不费脑子的事情。
让我感到恼火的一件事就是,对于严重依赖模板的代码,它表现不佳。即显示大量警告和有关未找到类型的错误等。
我没有使用最新版本的Eclipse,我在当前版本之前尝试了主要版本而放弃了,因为它没有与makefile等相同的顺利项目集成。我觉得如果你不这样做就不那么好了我想使用它的制造系统 - 虽然我可能是错的。
我不使用任何提供的代码格式,而是更喜欢像AStyle这样的东西。我知道NetBeans在Java方面做得很好 - 但是还没有将它用于C ++。 CDT我似乎记得在格式化C ++代码时做一些奇怪的缩进 - 特别是。如果涉及模板 - 但这至少是两年前的事。
希望它有一些帮助 - 最好的方法是下载并亲自尝试,看看哪些对您有用。我们告诉你的任何事都纯粹是主观的。
答案 3 :(得分:1)
我曾经和NetGans合作过MinGW,我刚试过7.0.1。 我目前使用Eclipse Indigo与CDT和MinGW - 性能更好(CPU和内存更少)。
Netbeans创建一个makefile来一直编译, 在Eclipse中,您可以直接使用CDT-Toolchain构建或使用Makefile - Eclipse更灵活。
调试:Netbeans在Solaris / Linux中可能更好。
我个人而不是偏见Netbeans,我认为eclipse更专业。
答案 4 :(得分:0)
使Netbeans 7.0引起很多悲痛的一个特殊问题是它倾向于使用utf8文件,而不是所有的c ++项目都是utf8。它将发出关于打开这样一个文件的警告,如果你打开它,会破坏所述文件,这很痛苦。
我还没有找到如何正确地使netbeans处理这个问题。显然,编码可以更改,但对于整个项目。所以大概将它更改为us-acii可以解决这个问题,尽管非ascii字符无法正常显示。