Netbeans或Eclipse for C ++?

时间:2008-11-21 11:14:09

标签: c++ eclipse netbeans

我目前正在开发一个宠物项目,需要在Windows,Mac,Linux和Solaris上进行C ++开发,我已经将其缩小到Netbeans和Eclipse,所以我很奇怪C ++编辑器。我只需要可靠的编辑,模板化代码和外部库的良好自动完成,以及项目文件管理,构建工具都是外部的,所以这与我的比较无关。

因此哪个是更好的选择?

注意:我知道我应该使用emacs或vim,但问题是,至少我的理论是,我是左撇子,因此我使用大脑的右侧(设计,创造力)比左侧更多方(逻辑,记忆),所以我只是简单地不能使用emacs或vim,我的大脑根本就不兼容,我也尝试了很多次,甚至使用emacs几个月但是它让我疯了......

由于

13 个答案:

答案 0 :(得分:25)

我没有使用NetBeans,但Eclipse CDT(C Developer Tools,包括C ++),尤其是最新版本,非常出色:

  • 语法检查和拼写检查
  • 语法突出显示区分库调用和函数调用以及局部变量和成员变量,甚至应用于#ifdef'ed out
  • 的代码
  • 宏扩展可以引导您完成每个级别的宏应用程序,或显示最终结果,即使是非常复杂的Boost预处理器宏
  • 动态更新的文件和类大纲视图,以显示您在文件中的位置。 (我使用的商业IDE无法做到这一点。)
  • 功能强大,灵活的查找/替换和查找文件功能,具有完整的Perl样式正则表达式支持。它也应该能够在文件中进行C / C ++查找,可以根据语言语义进行搜索(例如,只查找引用,而不是声明),尽管这有时对我不起作用。
  • 自动跟踪TODO和其他评论标记
  • 鼠标悬停提示,显示变量或函数的确切声明,包括任何注释,而不仅仅是声明变量或函数的位置。 (同样,我使用的商业IDE无法做到这一点。)
  • 通过Subversion,Doxygen等插件支持
  • 一些重构支持 - 重命名,提取常量,提取功能,以及其他一些
  • 代码重新格式化,基于用户可定义的代码样式

你特意询问了它的编辑; Eclipse编辑器非常好,每当我不需要商业IDE的表单设计器时,我就会优先使用它来购买我们产品的商业IDE。

Eclipse的调试器集成(使用gdb)是可以容忍但不是很好,并且它的内存使用率很高。一些功能(如C / C ++在文件中查找)无法可靠地工作或需要重新索引(这很费时),但没有明显的原因,但最新版本在这方面似乎更可靠。

使用NetBeans的人可以填写它的比较方式吗?

答案 1 :(得分:16)

我不时在Solaris上使用Netbeans,最新的(6.5)版本非常简洁。它具有您需要的所有功能,也许自动完成可以更好地工作,但我有一个非常糟糕的代码库,所以它可能是它的结果。请记住,你需要强大的机器,如果它是你的PC它没关系,但远程服务器上的Netbeans(就像我试过的)非常慢,除非你有一个像样的硬件。很少有简单的C ++重构和很好的预览选项,绝对值得一试。

您可以从此处获取整个Sun C ++包: http://developers.sun.com/sunstudio/downloads/express/

答案 2 :(得分:12)

就我个人而言,我更喜欢NetBeans - 项目管理非常出色,而且我的运行速度比Eclipse快。但是,它是主观的和YMMV。

答案 3 :(得分:11)

嘘他们既臃肿又慢,恕我直言。你为什么不试试Code::Blocks?它专门针对C ++开发人员,并且比Eclipse或NetBeans执行得更好。

答案 4 :(得分:6)

只需给出关于eclipse / netbeans的速度或性能问题的评论2美分:

如果IDE很慢,那么IDE的唯一部分就是编辑器组件。 与此处一些明显肤浅的断言形成鲜明对比的是,我找到了编辑 Eclipse中的组件非常活泼。 IDE的其余部分容易滞后, 但编辑本身提供了一尘不染的表现。 我有一台1.4GHz笔记本电脑,并使用Eclipse。 Eclipse的编辑器组件比Code :: Blocks或KDevelop更快(特别是在滚动/浏览文本时)。原因很简单:Eclipse缓存所有内容,尤其是语法突出显示等,其他IDE似乎试图这样做“生活”并失败。 c ++索引器在过去的版本中引起了祸患。它在内存不足时崩溃,没有它没有漂亮的搜索功能,等等。 对于当前版本,我只能说:它都是固定的,它就像一个魅力。 它的速度与VisualStudio Indexer相当。

如果你安装了Eclipse CDT,你会得到很多很好的功能,正如其他回复中所解释的那样,大多数其他IDE只提供了多个插件。 (我不知道netbeans,从来没用过它。) 当我将鼠标悬停在某个标识符上时,每次踢我的功能都是智能工具提示。 Eclipse允许我直接访问可能在某处输入的任何javadoc以及定义它的文件,甚至可以让我在工具提示中滚动! 所以我随处可见每个标识符的完整上下文。 我更喜欢它而不是Visual Studio以及我尝试过的其他所有内容。

当然,您在IDE中执行的所有其他操作都可能更快捷。对我来说,至关重要的是,编辑器很快,eclipse在那里肯定做得很好。

答案 5 :(得分:3)

我唯一讨厌Netbeans的是调试器与Eclipse相比有点慢。除此之外,Netbeans将是我的选择。

答案 6 :(得分:3)

如果你在linux下运行eclipse,你可以使用valgrind进行内存泄漏。 Eclipse支持gdb对我来说已经足够了,但我找不到一个像样的内存泄漏插件,而valgrind集成插件还处于测试阶段。这个博客为它做了一个很好的教程:http://kapo-cpp.blogspot.com/2007/02/detecting-memory-leak.html。我在linux上投了eclipse的投票。 P.S真人只使用ed。

答案 7 :(得分:2)

code :: blocks中的c ++解析器似乎与netbeans和eclipse不同:根据code::block's wiki,它需要完全重写。

答案 8 :(得分:1)

它们非常适合C ++开发,但我最近在NetBeans中发现的一件事是,似乎没有可用于CppUnit或任何其他C ++单元测试框架的插件。如果我对此错了,我很想得到this question的更多回复。

(另外,我知道NetBeans的开发工作一直在进行,所以也许有人会很快想出一个插件。)

答案 9 :(得分:1)

对于C ++,我不得不同意Nemanja Trifunovic,并说你应该给Code::Blocks看看。它是免费的,性能很好。几年前我从Bloodshed Dev-C ++(基本上不再支持)转换后开始使用它,并且不能更开心。

答案 10 :(得分:1)

我是Eclipse的忠实粉丝,并广泛用于Java和C ++编程。但是,目前它不支持远程C ++开发。我尝试过Netbeans Remote C ++开发,发现它非常优秀且非常简单。话虽如此,C ++解析并不像Eclipse那样流畅,自动完成有时会妨碍并且不会消失,而我遇到的最大问题是由于性能非常低而不断需要重启IDE。我希望Eclipse可以继续构建它的远程C ++开发功能,并使用Netbeans作为如何使它变得非常简单的一个例子!

答案 11 :(得分:0)

我已经使用了eclipse一段时间了,我最近看了一下netbeans并且必须说我非常喜欢它。在一天结束时,他们都是出色的想法,这是一个非常主观的选择。 在我看来,netbeans似乎比eclipse快一点,但这可能只是一种感觉。

答案 12 :(得分:0)

到目前为止,我一直在使用Net Bean。但由于NetBeans中的问题,我被迫切换到Eclipse。有一个Net Beans错误,当您处理具有大量源文件的项目时,它会使IDE无用。许多人一直在抱怨,但似乎Net Beans团队无法解决在解析源文件时阻止IDE响应的问题。 :(

报道于: Petr Dvorak - Oracle Blog

作为一种解决方案,他们提供了一种按需解析机制,这对我不起作用:( Net Beans Wiki