* nix的最佳C ++ IDE

时间:2020-03-05 18:57:42  来源:igfitidea点击:
  • nix环境的最佳C ++ IDE是什么?我听说Eclipse的C / C ++模块和Notepad ++一样不错,但是除了这两个之外,我还没有真正的想法。有什么想法或者意见吗?

解决方案

回答

KDevelop非常好,特别是如果我们运行KDE。它支持多种语言,这是额外的好处。我发现它的嵌入式终端非常有用。

回答

我不能真正保证使用Eclipse模块,但这可能归因于我在Windows上并且几乎不知道我在做什么的事实。

不过,我们最喜欢的文本编辑器也不会出错。

回答

我只是使用Emacs。

回答

作为已经在linux下编写代码多年的程序员,我似乎无法摆脱使用Vim编写代码的想法。

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

唯一具有vim功能超集的其他编辑器是emacs。我强烈建议我们学习一种或者另一种,如果我们有任何疑问,请随时在这里或者irc.freenode.net上的#emacs或者#vim中提问,这里有一个非常有用的社区,可以了解什么扩展名或者命令最适合我们面临的软件编辑问题。

[编辑:一条评论指出" vim不是IDE",我同意。我不喜欢IDE名称,因为它意味着带有项目经理和一堆下拉框的gui。我喜欢使用术语"好工具"。参见梁泰德的著作]

回答

Netbeans的C ++支持获得了不错的评价:http://www.netbeans.org/features/cpp/

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

回答

我真的很喜欢CodeLite。查看它的功能页面。

回答

Emacs是一种出色的解决方案,可以按照我的方式使用,但可以执行所有类型的IDE。参见另一个相关问题:将Emacs用作IDE

回答

我会推荐CodeBlocks。

强调:

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

编译器:

  • MSVC ++
  • 数字火星
  • Borland C ++ 5.5
  • 打开Watcom
  • ...和更多

回答

我之前曾问过这个问题,以体验Linux用户,他们总是说Vim和automake。我将Vim用作Linux中的默认编辑器,过了一会儿它变得很直观。我在学习C ++的过程中通过一些小例子来学习它,因此我可以同时学习两者。

回答

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

  • Kdevelop
  • 盖尼
  • 安朱塔

还有:

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

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

  • vi / vim
  • emacs

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

我真的不怎么喜欢Eclipse,我发现它有错误,而且有点笨拙。
我已经开始将Geany用作基本工具,但可以使用且可用。它具有基本的代码完成功能,并且是一个很好的,干净的[Gnome]界面。
我尝试了一天的Anjuta,一点都不喜欢。我发现它没有Geany有用。

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

如果只有流血的dev-c ++是在linux下发布的。那是一个很棒的(但仅限Windows)程序。我们可以随时在Wine下运行它;)

在一定程度上,它取决于个人喜好。我的建议是研究Kdevelop,Geany和code :: blocks作为起点。

回答

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

回答

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

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

回答

我的投票是KDevelop(我希望我有更多意见,以便我可以"投票",所以我可以间接地与他人达成共识,而不是发表评论)。

我已经将Eclipse用于个人用途已有大约两年了,说服自己"自从IBM捐赠了它,它一定是件好事",但是后来我发现了KDevelop,再也没有回过头。因为我对Microsoft Visual Studio的专业使用非常满意,所以KDevelop使我感到最舒服。

我想享受编程的兴趣,而不是花时间查找ctrl-k-k​​ctrl-k-b的作用。就像其他人提到的那样,任何对他们"感觉正确"的东西都是最好的IDE。对我来说,KDevelop感到最舒服,因为我可以专注于编码(我可以将键重新映射到其他IDE,使它看起来像VS,但是如上所述,我宁愿投入时间编码,这更有趣)。

回答

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

那是我的经验;我首先尝试了一些其他方法,但是他们似乎都希望我做一个冗长的教程,然后才能开始做任何有趣的事情,并尝试一打IDE,这可能需要几天时间。

有了Code :: Blocks,就不会遇到麻烦了,在我变得有生产力之前,几乎没有必要学习强制性知识。我仍然更喜欢Visual Studio,但是Code :: Blocks可以打开我的Visual Studio项目,而且似乎不想让我浪费任何时间,因此它是我最成功的* nix IDE。

回答

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

它不是免费的。

回答

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

我还使用KDevelop来处理依赖关系,即程序需要首先构建大量的库,但Netbeans使这一过程变得简单。

唯一的抱怨是,作为Java应用程序,它在VMWare下运行时并不是特别快,但并不十分引人注目。

回答

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

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

Eclipse和NetBeans太笨拙,以我的口味而言。其他大多数IDE都具有错误/不完整/哑自动完成及其他功能;或者他们想控制代码并且需要导入到项目中;或者他们将101个文件放在源文件夹中。只有KDevelop允许我有一个指向我的src文件夹的简单链接,并允许我工作。自动完成不是很出色,但是比其他的要好。

KDevelop与我的Gnome融合不佳,但我可以忍受;)

回答

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

[编辑]
它确实具有自己的C ++类库(如Hernan所指出的),但是没有什么可以阻止我们使用其他任何类库(例如SDL),也可以滚动自己的类库。如果愿意,我们甚至可以使用boost,但是我必须说,我发现提供的某些类和技术更有用。
我最欣赏的是它与调试器和非常完整的上下文相关编辑器的出色集成。它使用Linux上的标准编译器和调试器(gcc,g ++,gdb)以及该平台上的MS编译器/调试器。
我唯一(非常小)的抱怨是项目的自制名称(称为Nest's等)。这是没有必要的,甚至对于认真的开发人员而言可能会令人反感,但它们只是名字,我发现我可以轻易忽略它。

回答

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

回答

简而言之,Netbeans。我们必须尝试一下。它是那么好。它比带有CDT插件的Eclipse更好。

回答

令我惊讶的是,没有人提到Qt Creator,因为它在大多数存储库中都可用,虽然体积很小,但是可以满足我的大部分需求。

回答

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

  • 如果我们在特定的IDE中启动项目,它们将为我们布置特定的目录结构,文件组织,文件命名约定,构建系统等。当然,这些选项大多数都是可自定义的,但并非总是可以遵循特定可能需要遵循的约定。具有复杂构建系统的项目可能很难在IDE中实现。此外,该项目可能不适合外部独立修改。因此,例如,如果我们打算编写一个开源应用程序,请避免使IDE成为项目的依赖项。
  • 如果导入从其他地方开始的项目,则可能很难使用IDE提供的所有功能。我们将必须弄清楚如何挂接构建系统,调试器(因为二进制文件可能不在预期的位置)等。这对于大型和复杂的项目尤其如此。

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

最后要说明的是,如果我们学习kdevelop或者netbeans,那么如果有一天我们必须在一台安装有问题的计算机上工作,则可能会遇到问题(例如,我们可能没有Java运行时并且可能被禁止使用)安装)。如果我们学习(说)Vim +插件,那么我们会更安全:我们可以将配置作为.zip文件保存在Web服务器上,并确保Vim随处可见。