适用于* nix的最佳C ++ IDE

时间:2008-09-17 02:17:08

标签: c++ ide

* unix环境的最佳C ++ IDE是什么?我听说Eclipse的C / C ++模块和Notepad ++都不错,但除了这两个之外我还没有真正的想法。有什么想法或意见吗?

22 个答案:

答案 0 :(得分:30)

在Ubuntu上,存储库中可用的一些IDE是:

还有:

  • Eclipse(由于文件/文件夹权限问题,建议您不要从存储库安装)
  • Code::blocks

当然,每个人都喜欢基于文本的编辑:

  • VI / VIM
  • emacs的

vim和emacs是非常强大的工具,但学习曲线非常陡峭......

我真的不喜欢 Eclipse 那么多,我发现它有点儿笨拙而且有点太笨重了。
我已经开始使用 Geany 作为一个功能强大且功能强大的可用的 IDE。它具有基本的代码完成功能,是一个漂亮,干净的[Gnome]界面 Anjuta 我试了一天,完全不喜欢它。我没有发现它像Geany一样有用。

Kdevelop code :: blocks 获得了很多好评,但我还没有尝试过。我使用gnome,我还没有看到一个在gnome中看起来很好的KDE应用程序(对不起,我确定它是一个很棒的程序)。

如果在linux下只发布了流血的dev-c ++。这是一个很棒的(但仅限Windows)程序。你总是可以在Wine下运行它;)

在某种程度上,归结为个人偏好。我的建议是调查Kdevelop,Geany和code :: blocks作为起点。

答案 1 :(得分:18)

作为一名在linux下编写代码多年的程序员,我似乎无法放弃使用Vim编写代码。

一旦你学习了它,并学习了一些更高级的功能(代码折叠,如何使用ctags,如何有效地使用多个缓冲区等),移动到另一个编辑器是非常困难的 - 因为其他一切似乎都缺失了你习惯的功能。

唯一拥有vim功能超集的编辑器是emacs。我强烈建议您学习其中一个 - 如果您有任何疑问,请随时在此处或在irc.freenode.net上的#emacs或#vim中提问 - 这里有一个非常大且有用的社区,可以帮助您了解哪些扩展或命令最适合您所面临的软件编辑问题。

[编辑:评论指出“vim不是IDE”,我同意。我不喜欢IDE的名字,因为它意味着一个带有项目经理和一堆下拉框的gui。我喜欢使用术语“好工具”。请参阅Ted Leung's关于此事的着作]

答案 2 :(得分:10)

我很惊讶没有人提到Qt Creator,因为它在大多数存储库中都可用,尺寸非常小,而且我需要做的大部分工作都很好。

答案 3 :(得分:9)

我建议CodeBlocks

亮点:

  • 开源! GPLv3,没有隐藏的成本。
  • 跨平台。在Linux,Mac,Windows上运行(使用wxWidgets)。
  • 用C ++编写。不需要解释语言或专有库。
  • 通过插件扩展

编译器:

  • 多个编译器支持:
    • GCC(MingW / GNU GCC)
    • MSVC ++
    • 数字火星
    • Borland C ++ 5.5
    • 打开Watcom
    • ......还有更多

答案 4 :(得分:7)

我只是使用Emacs。

答案 5 :(得分:5)

Emacs是一款出色的,无所不能但又能够做到的IDE。请参阅此其他相关问题:Using Emacs as an IDE

答案 6 :(得分:5)

我的投票是KDevelop(我希望我有更多积分,所以我可以“投票”,所以我可以间接同意其他人而不是评论)。

我几年来一直在使用Eclipse供个人使用,说服自己“自IBM捐赠之后,它一定很好”,但后来我发现KDevelop并且从未回头。因为我非常喜欢使用Microsoft Visual Studio专业用途,因此KDevelop对我来说感觉最舒服。

我想享受编程作为一种爱好,而不是花时间查找 ctrl - k - k ctrl < / kbd> - k - b 。就像其他人提到的那样,对他们来说“感觉正确”是最好的IDE。对我来说,KDevelop感觉最舒服,因为我可以专注于编码(我可以将键重新映射到其他IDE以使其感觉像VS,但如上所述,我宁愿投入时间编码,这更有趣)。

答案 7 :(得分:4)

简单地说,Netbeans。你必须尝试一下。它是那么好。使用CDT插件比Eclipse好得多。

答案 8 :(得分:4)

如果您来自Windows&amp; Visual Studio,您可能会发现Code :: Blocks符合您的期望。

那是我的经历;我先尝试了其他几个,但他们似乎都希望我在开始做任何有趣的事情之前做一个冗长的教程 - 并且有十几个IDE可以尝试,这可能需要几天时间。

使用Code :: Blocks时,没有任何环节可以跳过,而且在我可以提高效率之前,很少需要学习强制性的。我仍然更喜欢Visual Studio,但Code :: Blocks可以打开我的Visual Studio项目,它似乎不想让我浪费任何时间,因此它是我最受欢迎的* nix IDE。

答案 9 :(得分:4)

我使用NetBeans C ++插件,它非常棒。我来自Visual Studio背景,Netbeans项目管理非常相似。我试过KDevelop,但发现它有点片状(这是12个月前,所以现在可能更好了。)

我还使用KDevelop在依赖关系上挣扎 - 即程序需要首先构建大量的lib - 但Netbeans就这么简单。

唯一的抱怨是作为一个Java应用程序,它不是特别快 - 在VMWare下运行时非常明显。

答案 10 :(得分:3)

Netbeans因其C ++支持得到了一些非常好的评论:http://www.netbeans.org/features/cpp/

我从未使用Netbeans或Eclipse进行C ++开发,但值得一看。

答案 11 :(得分:3)

在我切换到ubuntu之前,我是一名VisualStudio + VA-X用户,并且在任何IDE中都需要良好的自动完成和功能导航功能。

我已经尝试过Netbeans,Eclipse CDT,CodeBlocks,Geany,Anjuta,KDevelop,最后选择了KDevelop,因为那是我能够接近VS + VA-X的最接近的地方。

Eclipse&amp; NetBeans太沉重了。我的口味很迟钝。大多数其他IDE都有错误/不完整/哑巴自动完成&amp;其他特性;或者他们希望控制您的代码并需要导入项目;或者他们在您的源文件夹中放置了101个文件。只有KDevelop允许我有一个简单的链接到我的src文件夹让我工作。自动完成并不精彩,但比其他人更好。

KDevelop与我的Gnome没有很好的融合,但我可以忍受它;)

答案 12 :(得分:3)

KDevelop很不错,特别是如果你运行KDE。它支持多种语言,作为额外的奖励。我发现它的嵌入式终端非常有用。

答案 13 :(得分:2)

就个人而言,我同意kDevelop人群。 Eclipse感觉有点笨重,有点不稳定。关于kDeveloper的一些事情总是让人感觉正确。

答案 14 :(得分:2)

终极++ [http://www.ultimatepp.org/index.html]

[编辑]
它确实拥有自己的C ++类库(正如Hernan指出的那样),但是没有什么可以阻止你使用像SDL这样的任何其他类库,或者你可以自己动手。如果你愿意,你甚至可以使用boost,但我必须说我找到了一些提供的类和技术更有用。

我最欣赏的是它与调试器的完美集成以及非常完整的上下文相关编辑器。它使用标准编译器&amp; Linux上的调试器(gcc,g ++,gdb)和该平台上的MS编译器/调试器。

我唯一的(非常小的)抱怨是项目的自制名称(称为Nest&amp; amp;等等)。这是不必要的,甚至可能对认真的开发人员不利,但他们只是名字和我发现我很容易忽视它。

答案 15 :(得分:2)

我真的很喜欢CodeLite。看看它是feature page

答案 16 :(得分:1)

在我以前的工作中,我们使用SlickEdit在Debian下进行C ++开发。它是跨平台的,非常强大。

但是,这不是免费的。

答案 17 :(得分:1)

之前我曾问过这个问题来体验Linux用户,他们总是说Vim和automake。我在Linux中使用Vim作为我的默认编辑器,过了一段时间它变得直观。我通过学习C ++时学习一些小例子来学习它,所以我可以同时学习它们。

答案 18 :(得分:1)

大多数IDE的问题在于他们希望对项目的组织方式有一定程度的控制,如果您必须与其他人一起处理该项目,这可能会成为一个问题。根据我的经验,这会导致两个相关的问题:

  • 如果您在特定IDE中启动项目,他们将为您布置特定的目录结构,文件组织,文件命名约定,构建系统等。当然,大多数这些选项都是可自定义的,但它不是始终可以遵守您可能需要遵循的特定约定。具有复杂构建系统的项目可能难以在IDE中实现。此外,该项目可能不适合外部独立修改;例如,如果您计划编写一个开源应用程序,避免使IDE成为项目的依赖项

  • 如果您导入在其他地方启动的项目,则可能无法轻松使用IDE提供的所有功能。您将不得不弄清楚如何挂钩构建系统,调试器(因为二进制文件可能不在预期的位置)等等。对于大型和复杂的项目尤其如此。

在Windows下这些不是问题的原因是Visual Studio是事实上的标准。在* nix下,在协作开发项目时不倾向于强加特定的工具/编辑器,这就是出现这些“跨IDE通信”问题的原因。

最后要注意的是,如果你学习kdevelop或netbeans,你可能会遇到问题,如果有一天你必须在一台安装它们的机器上工作有问题(例如你可能没有Java运行时可用,你可能会不允许安装它)。如果您学习(比方说)Vim +插件,您会更安全:您可以将您的配置保存为网络服务器上的.zip文件,并确保Vim始终可用于所有地方。

答案 19 :(得分:0)

Eclipse也不错,但你必须按照Eclipse的方式做事。 Eclipse在目录布局上有一些内置的想法。对于一个新项目,Eclipse是一个合理的选择。将现有项目导入Eclipse可能需要进行一些重组。

我曾经在QNX for C ++下使用Eclipse。 QNX人员实际上开发了C ++功能,所以QNX会有一个IDE。

答案 20 :(得分:0)

Emacs适用于简单的事情,但我将Eclipse用于任何更大的项目。

答案 21 :(得分:0)

我无法真正为Eclipse模块担保,但这可能归因于我在Windows上并且几乎不知道我在做什么。

尽管你最喜欢的文本编辑器也不会出错。