繁体   English   中英

适用于* nix的最佳C ++ IDE [已关闭]

[英]Best C++ IDE for *nix [closed]

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

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

还有:

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

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

  • VI / VIM
  • emacs的

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

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

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

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

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

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

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

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

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

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

我推荐CodeBlocks

强调:

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

编译:

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

我只是使用Emacs。

Emacs是一个非常棒的,无所不能,但能够做任何事情的IDE。 请参阅此其他相关问题: 将Emacs用作IDE

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

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

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

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

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

随着代码::块没有箍跳通过,很少强制克鲁夫特学习之前,我可以成为生产力。 我仍然更喜欢Visual Studio,但Code :: Blocks可以打开我的Visual Studio项目,它似乎不想让我浪费任何时间,因此它是我最受欢迎的* nix IDE。

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

我还使用KDevelop来处理依赖关系 - 即程序需要首先构建大量的lib - 但Netbeans使这很简单。

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

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

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

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

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

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

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

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

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

我非常喜欢CodeLite 看看它的功能页面

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

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

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

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

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

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

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

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

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

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

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

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

但这不是免费的。

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

不过你最喜欢的文本编辑器不会出错。

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

我以前在QNX for C ++下使用Eclipse。 QNX人员实际上开发了C ++功能,因此QNX将拥有一个IDE。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM