适用于Linux的C ++ IDE?

时间:2008-08-23 09:53:00

标签: c++ linux ide

我想将我的编程视野扩展到Linux。一个好的,可靠的基本工具集很重要,什么比IDE更基本?

我可以找到这些SO主题:

我不是在寻找轻量级 IDE。如果IDE值得花钱,那么我会付钱,所以它不需要是免费的。

我的问题是:

  

有什么好的,C ++编程IDE适用于Linux?

最小值是相当标准的:语法突出显示,代码完成(如intellisense或其Eclipse版本)和集成调试(例如,基本 断点)。

我自己已经搜索过了,但有很多东西几乎不可能手工分离好东西,特别是像我这样在Linux上几乎没有C ++编码经验的人。我知道Eclipse supports C++,我真的很喜欢Java for IDE,但它对C ++有什么好处,还有更好的东西吗?

第二篇文章实际上有一些很好的建议,但我缺少的是究竟是什么让这个吸收的IDE对用户如此好,它的(dis)优势是什么?

也许我的问题应该是:

  

你建议使用什么IDE(根据你的经验),为什么?

45 个答案:

答案 0 :(得分:262)

最初:混乱

最初写这个答案时,我最近从Visual Studio(具有多年经验)转到了Linux,我做的第一件事就是尝试找到一个合理的IDE。当时这是不可能的:没有好的IDE存在。

顿悟:UNIX是一个IDE。 全部。 1

然后我意识到Linux中的IDE是带有工具的命令行:

  • 首先设置shell
  • 和你的编辑;选择你的毒药 - 两者都是最先进的:

根据您的需要,您必须安装和配置多个插件才能使编辑器正常工作(这是一个烦人的部分)。例如,Vim上的大多数程序员都将受益于智能自动完成的YouCompleteMe插件。

完成后,shell是您与各种工具交互的命令界面 - 调试器(gdb),Profilers(gprof,valgrind)等。使用Make设置项目/构建环境,{ {3}},CMake或任何其他替代方案。您使用版本控制系统管理代码(大多数人使用SnakeMake)。您还可以使用Git(以前也是屏幕)来复用(=考虑多个窗口/选项卡/面板)并保留终端会话。

关键是,由于shell和一些工具编写约定,所有都相互集成。那样 Linux shell是一个真正的集成开发环境,完全与其他现代IDE相提并论。 (这并不意味着单个IDE没有命令行可能缺少的功能,但反过来也是如此。)

给每个人自己的

我不能夸大上述工作流程在你养成习惯后的功能。但是有些人只是喜欢图形编辑器,而且自从这个答案最初编写以来的几年里,Linux已经为几种不同的编程语言获得了一套优秀的图形IDE(但据我所知,不是C ++)。即使 - 像我一样 - 你最终没有使用它们,请试试看。这里只是一个小而有偏见的选择:

  • 对于Python开发,有tmux
  • 对于R,有PyCharm
  • 对于JavaScript和TypeScript,有RStudio(这也是一个很好的全能编辑器)
  • 最后,很多人都喜欢Visual Studio Code进行一般代码编辑。

请记住,此列表远未完成。


1 我从dsm的评论中偷走了这个标题。

2 我曾经在这里提到过Vim。虽然普通的Vim仍然有能力,但Neovim是一个很有希望的重启,并且现代化了几个老疣。

答案 1 :(得分:86)

我个人最喜欢的是 CodeLite 2.x IDE。

请参阅:http://www.codelite.org

使用CodeLite的决定是基于以下针对Linux的C ++ IDE的研究:

  • 带有CDT插件的Eclipse Galileo
  • NetBeans 6.7(也是SunStudio IDE的基础)
  • KDevelop4
  • CodeBlocks 8.02
  • CodeLite 2.x

毕竟我决定使用 CodeLite 2.x

下面我列出了有关上述C ++ IDE的一些优点和缺点。请注意,这仅反映了我的个人意见!

编辑:SOF不支持表格真可惜,所以我必须写段落......

带有CDT插件的Eclipse Galileo

优点:

  • 合理快速
  • 还支持Java,Perl(带E.P.I.C插件)
  • 常用且维护良好
  • 也适用于其他操作系统风格(Windows,MacOS,Solaris,AIX(?))

缺点:

  • GUI非常混乱,有点不一致 - 根本不是很直观
  • 重量重量
  • 仅支持CVS(AFAIK)

NetBeans 6.7 (请注意,这也是SunStudio IDE的基础)

优点:

  • 我见过的最直观的GUI之一
  • 还支持Java,Python,Ruby
  • 整合了CVS,SVN,Mercurial
  • 常用且维护良好
  • 也适用于其他操作系统风格(Windows,MacOS,Solaris)

缺点:

  • 极度缓慢
  • 重量重量
  • 使用Spaces进行缩进,这不是我工作的政策。我确定这是可配置的,但我无法找到如何实现

KDevelop4 (注意:我没有太多测试)

优点:

  • 常用于Linux
  • 整合了CVS,SVN,Mercurial

缺点:

  • GUI看起来有点过时了
  • 重量重量
  • 非常特定于KDE环境

CodeBlocks 8.02 (注意:我没有太多测试)

优点:

  • 合理快速

缺点:

  • GUI看起来有点老式(虽然它有一个很好的启动画面)
  • 编辑器中的字体非常小
  • 一些图标(例如调试器相关的图标开始/步进)非常小
  • 没有源代码控制集成

CodeLite 2.x (注意:这是我个人的最爱)

优点:

  • 我在Linux上看到的最好,最现代,最直观的GUI
  • 轻质
  • 合理快速
  • 整合SVN
  • 也适用于其他操作系统风格(Windows,MacOS,Solaris(?))

缺点:

  • 没有CVS集成(这对我很重要,因为我必须在工作中使用它)
  • 不支持Java,Perl,Python(很高兴)

答案 2 :(得分:75)

  1. Code::Blocks
  2. Eclipse CDT
  3. 很快你会发现IDE还不够,无论如何你都必须学习GCC工具链(这并不难,至少要学习基本功能)。但是,使用IDE减轻过渡性疼痛没有任何害处,IMO。

答案 3 :(得分:66)

快速回答,只是为此主题添加更多知识:
你一定要看看NetBeans。 Netbeans 6.7具有以下功能:

  • C / C ++项目和模板:支持语法高亮, 自动代码完成,自动缩进。
  • 它有一个C / C ++调试器
  • 支持编译器配置,配置管理器和Makefile支持(带有 向导)。
  • 它有一个Classes窗口,一个Usages窗口和一个文件导航窗口(或面板)。
  • A Macro expansion view,还有tooltips
  • 支持QT development

我认为它是一个完美的(并且更好)Visual Studio替代品,是学习C / C ++的一个非常好的工具。

祝你好运!

答案 4 :(得分:52)

至少对于Qt特定的项目,Qt Creator(来自诺基亚/奇趣科技/ Digia)显示出巨大的希望。

答案 5 :(得分:32)

  你能否澄清它对你的影响,你需要改变的东西。也许你可以通过提供你所用信息的链接来指出我正确的方向。

我的第一个来源实际上是工具'man页面。只需输入

即可
$ man toolname
命令行上的

$这里是提示的一部分,而不是输入。)

根据平台的不同,它们写得非常好,也可以在互联网上找到。在make的情况下,我实际上阅读了花费了几个小时的完整documentation。实际上,在大多数情况下,我认为这不是必要或有帮助的,但我在Linux下的第一个作业中有一些特殊要求需要复杂的makefile。在写完makefile之后,我把它交给了一位经验丰富的同事,他做了一些小的调整和修改。在那之后,我几乎知道make

我使用GVIM是因为我在那里有一些(但没有多少)经验,我根本不能说任何关于Emacs或其他选择的东西。我发现阅读其他人的.gvimrc配置文件确实很有帮助。很多人把它放在网上。这是mine

不要试图一次掌握所有binutils,功能太多了。但是要获得一般概述,以便在将来需要某些东西时知道在哪里搜索。但是, 应该知道g++ld的所有重要参数(GCC链接器工具自动调用,除非明确禁止)。

  

另外我很好奇,你编码时是否有代码完成和语法高亮?

语法高亮显示:是的,比Visual Studio好得多。代码完成:是 - ish 。首先,我必须承认,即使在Visual Studio中我也没有使用C ++代码完成,因为(与VB和C#相比)它还不够好。我现在不经常使用它,但是,GVIM 具有 C ++的本机代码完成支持。结合ctags库和像taglist这样的插件,这几乎就是一个IDE。

实际上,让我开始的是Armin Ronacher的article。在阅读文本之前,请查看最后的截图!

  

在获得(语法)错误之前,你必须先编译吗?

是。但这对于Visual Studio来说是一样的,不是吗(我从未使用过Whole Tomato)?当然,语法高亮显示将显示不匹配的括号,但这是关于所有。

  

你如何调试(再次考虑断点等)?

我使用gdb这是一个命令行工具。还有一个名为DDD的图形前端。 gdb是一个现代化的调试工具,可以完成您在IDE中可以执行的所有操作。唯一让我烦恼的是读取堆栈跟踪,因为行没有缩进或格式化,所以当你使用大量模板时我很难扫描信息(我这样做)。但那些也会混乱IDE中的堆栈跟踪。

  

就像我说的那样,我很高兴能够在高中时使用Windows记事本和命令行java编译器在Java编程语言中设置我的第一步,这真是一场噩梦!当然,当我可以将它与我当时拥有体面的IDE的其他编程课程进行比较时

您甚至不应该尝试将现代的全功能编辑器(如Emacs或GVIM)与记事本进行比较。记事本是一个装饰TextBox控件,这真的有所不同。此外,在Linux和Windows上使用命令行是一种非常不同的体验。 Windows cmd.exe严重瘫痪。 PowerShell要好得多。

/编辑:我应该明确提到 GVIM已经选项卡式编辑(如标签式浏览,而不是制表符与空格)!我花了很长时间才找到它们,尽管它们根本没有隐藏。只需在打开文件或创建新文件时键入:tabe而不是普通:e,GVIM就会创建一个新标签。可以使用光标或几个不同的快捷方式(取决于平台)在标签之间切换。键gt(在命令模式下键入 g ,然后 t )应该可以在任何地方使用,并跳转到下一个选项卡或选项卡号。 n 如果给出了数字。输入:help gt以获得更多帮助。

答案 6 :(得分:25)

不要重复回答,但我想我可以多补充一点。

Slickedit是一个出色的IDE。

它支持大型代码库,而不会减慢或花费所有时间索引。 (这是我用eclipse的cdt遇到的一个问题)。实际上,Slickedit的速度可能是最好的 代码完成效果很好,并且有很多选项可用于自动格式化,美化和重构 它确实集成了调试功能 它有插件支持和相当活跃的社区创建它们 理论上,你应该能够与做传统makefile的人很好地集成,因为它允许你直接从一个创建一个项目,但是当我尝试它时,它并不像我想的那样顺利。
除了Linux之外,还有Mac和Windows版本,如果你需要它们。

答案 7 :(得分:23)

作为一个老式的UNIX人,我总是使用Emacs。但这有一个相当陡峭和漫长的学习曲线,所以我不确定我是否可以推荐给新人。

Linux确实没有“好”的IDE。 Eclipse对C / C ++不是很好(CDT正在改进,但还不是很有用)。其他人都缺少你要寻找的所有功能。

了解所有单个工具(gcc,make,gdb等)的工作原理非常重要。执行此操作后,您可能会发现Visual Studio的处理方式非常有限。

答案 8 :(得分:18)

Checkout Netbeans,它是用Java编写的,因此无论您的操作系统如何,您都将拥有相同的环境,并且它支持的不仅仅是C ++。

我不会试图说服你,因为我认为IDE可以是一个非常个人化的选择。对我来说,它通过快速,支持我编写的语言来提高我的工作效率,并具有您期望从IDE中获得的标准功能。

答案 9 :(得分:18)

快速跟进此问题......

自从我开始使用Vim作为我的主要'GUI'已经一个月了 在Linux中编程C ++的工具。起初学习 曲线确实有点陡峭,但过了一会儿,随着 正确的选项打开了scripts running我真的 掌握了它!

我喜欢你如何塑造Vim来满足你的需求; 只需添加/更改key mappings,Vim就会变成一个 高效的'IDE'。

在Linux上构建和编译C ++程序的工具链是 也很直观。 make和g ++是 工具 使用

然而,debugger ddd并不是那么好,但是 也许那是因为我没有时间去掌握它 正常。

所以对于那些正在或正在寻找一个好的C ++ IDE的人来说 Linux就像我一样,你最好的选择就是标准 Linux本身可用的工具(Vim,g ++,ddd)和你 在寻找之前,应该至少尝试使用它们 sonething其他......

最后但同样重要的是,我真的要感谢konrad 他的答案在这里,这真的帮助我找到了自己的方式 Linux开发环境,谢谢!

我也没有关闭这个问题,所以人们仍然可以 反应,甚至可能添加新的建议或添加 已经非常好的答案...

答案 10 :(得分:15)

我建议你阅读The Art Of UNIX Progranmming。它将使您的思维成为使用环境作为IDE。

答案 11 :(得分:12)

更短的答案是:选择你喜欢的任何“编辑器”,然后使用GDB控制台或简单的GDB前端来调试你的应用程序。调试器带有花哨的IDE,比如Netbeans很糟糕的C / C ++。我使用Netbeans作为编辑器,使用Insight和GDB控制台作为我的调试器。

凭借洞察力,您拥有良好的GUI和GDB的原始功能。

一旦习惯了GDB命令,你就会开始喜欢它,因为你可以做一些你永远无法使用GUI做的事情。如果您使用的是GDB 7或更新版本,甚至可以使用 Python 作为脚本语言。

这里的大多数人都更关注IDE的“编辑”。但是,如果您正在使用C / C ++开发大型项目,则可以轻松地将70%以上的时间花在“调试器”上。花哨的IDE的调试器至少落后于Visual Studio 10年。例如,Netbenas与Visual Studio的接口非常相似。但与Visual Studio相比,它的调试器有许多缺点。

  1. 即使只有几百个元素的数组也很慢显示
  2. 没有突出显示更改的值(默认情况下,visual studio在观察窗口中显示红色的更改值)
  3. 显示记忆的能力非常有限。
  4. 您无法修改源代码,然后继续运行。如果错误需要很长时间才能达到,您希望更改源并实时应用更改并继续运行您的应用程序。
  5. 您无法更改要运行的“下一个语句”。在Visual Studio中,您可以使用“设置下一个语句”来更改应用程序的运行方式。虽然如果使用不当,此功能可能会使您的应用程序崩溃,但它会为您节省大量时间。例如,如果您发现应用程序的状态不正确,但您不知道导致问题的原因,则可能需要重新运行源代码的某个区域而不重新启动应用程序。
  6. 没有内置的STL支持,例如vector,list,deque和map等。
  7. 没有观察点。当您需要在变量更改时停止应用程序时,您需要具有此功能。基于Intel的计算机具有硬件观察点,因此观察点不会减慢您的系统速度。如果不使用观察点,可能需要花费数小时才能找到难以发现的错误。 “Visual Studio”将“watch pointer”称为“Data BreakPoint”。
  8. 列表可能会更长。

    我对Netbeans或其他类似IDE的缺点感到非常沮丧,因此我开始学习GDB本身。我发现GDB本身非常强大。 GDB没有上面提到的所有“缺点”。实际上,GDB非常强大,它在很多方面甚至比Visual Studio更好。在这里,我只向您展示一个非常简单的例子。

    例如,你有一个像:

    这样的数组
    struct IdAndValue
    {
      int ID;
      int value;
    };
    
    
    IdAndValue IdAndValues[1000];
    

    当您的应用程序停止时,您想要检查IdAndValues中的数据。例如,如果要在数组中查找特定“ID”的序数和值,可以创建如下的脚本:

    define PrintVal 
    set $i=0
    printf "ID = %d\n", $arg0
    while $i<1000
      if IdAndValues[$i].ID == $arg0
        printf "ordinal = %d, value = %d\n", $i, IdAndValues[$i].vaue
        set $i++
      end
    end
    end
    

    您可以在当前上下文中使用应用程序中的所有变量,您自己的变量(在我们的示例中,它是$ i),传递的参数(在我们的示例中,它是$ arg0)和所有GDB命令(内置或用户定义)。

    使用GDB提示中的 PrintVal 1 打印ID“1”的值

    顺便说一句,NetBeans确实附带了一个GDB控制台,但是通过使用控制台,你可能会崩溃Netbeans。我相信这就是为什么控制台默认隐藏在NetBeans中

答案 12 :(得分:11)

如果您喜欢Eclipse for Java,我建议使用Eclipse CDT。 尽管C / C ++支持不像Java那么强大,但它仍然提供了大部分功能。它有一个很好的功能,名为Managed Project,如果你没有Makefile的经验,可以更轻松地使用C / C ++项目。但你仍然可以使用Makefiles。 我做C和Java编码,我对CDT非常满意。我正在开发用于C语言的嵌入式设备的固件和用于与该设备通信的Java应用程序,并且非常适合为两者使用相同的环境。我想这可能会让我更有成效。

答案 13 :(得分:11)

到目前为止,我正在使用“Geany”,它的快速和轻量级IDE。

Among Geany’s features are

  • 代码折叠
  • 会话保存
  • 基本IDE功能,例如语法突出显示,制表符,自动缩进和代码完成
  • 简单的项目管理
  • 构建系统
  • 颜色选择器(在网站开发期间非常方便)
  • 嵌入式终端仿真
  • 致电提示
  • 符号列表
  • 自动完成常见构造(例如if,else,while等)

答案 14 :(得分:9)

我喜欢人们完全错过IDE原始问题中的请求。 Linux不是IDE。这不是那些词的意思。我使用vi和gcc和make学习了c和c ++,我并不是说它们不是适当的工具,但它们不是IDE。即使您使用更复杂的工具(如vim或emacs)或任何您想要的精美编辑器,在命令行上键入命令也不是IDE。

另外,你们都知道make作为visual studio的一部分存在吗?如果你可以使用IDE来加速某些事情,那么IDE是“限制”的想法是愚蠢的,但仍然可以在需要时依赖命令行。

所有这一切,我建议,正如以上几个一样,尝试代码块。它有很好的代码突出显示,一个非常轻松的方式来创建一个项目,编码,运行它等,这是一个真正的IDE的核心,似乎相当稳定。调试糟透了......我从来没有在任何linux / unix变体中看到过一个像样的交互式调试器。 gdb不是吗。如果你已经习惯了视觉工作室风格的调试,那你几乎没有运气。

无论如何,我会收拾东西,我知道只有一个观点的Linux人群会大声喊叫,让我立刻离开城市。

答案 15 :(得分:8)

make + vim + gdb =一个很棒的IDE

答案 16 :(得分:7)

我非常喜欢Ultimate++的IDE。它有一些功能,旨在与自己的库一起使用(如果您不想在GTK +或QT上购买,BTW,这是一个非常好的工具包),但它与一般的C ++项目完美配合。它提供了良好的代码完成,良好的语法着色,集成调试以及大多数现代IDE支持的所有其他功能。

答案 17 :(得分:7)

我真的建议codeblocks。它没有Eclipse那么重,而且它得到了Visual Studio项目的支持。

答案 18 :(得分:6)

在Linux上有很多IDE:

我的体验中,最有价值的是 Eclipse Qt Creator 。 两者都提供所有&#34;标准&#34;功能(即自动完成,语法突出显示,调试器,git集成)。 值得注意的是,Eclipse还提供了重构功能,而Qt Creator提供了与Valgrind的集成,并支持在远程目标上的部署。

商业广告CLion IDE似乎也很好(但我还没有广泛使用它)。

答案 19 :(得分:6)

Eclipse的Linux Tools Project可能满足您的需求吗?

  

Linux Tools项目旨在为Linux开发人员提供功能齐全的C和C ++ IDE。我们以CDT的源代码编辑和调试功能为基础,集成了流行的本机开发工具,如GNU Autotools,Valgrind,OProfile,RPM,SystemTap,GCov,GProf,LTTng等。目前的项目包括LTTng跟踪查看器和分析器, RPM .spec编辑器,Autotools构建集成,Valgrind堆使用情况分析工具和OProfile调用分析工具。

答案 20 :(得分:5)

  

然后我注意到这根本就不是你在那里工作的方式*,我扔掉了所有东西,花了几天阅读手册,设置我的shell(bash),建立一个GVIM环境,学习了GCC / binutils toolchain,make和gdb,从此过上幸福的生活。

我大多同意,但问题也是一种看法:我们忘记了在任何选择的IDE(或其他环境)中提高工作效率的难度。我发现IDE(Visual Studio,NetBeans,Eclipse)在很多方面都非常麻烦。

  

作为一个老式的UNIX人,我总是使用Emacs。但那非常陡峭   而且学习曲线很长,所以我不确定我是否可以向新人推荐它。

我是第二个;在Linux和MSW(XP2,W2K)上使用Emacs作为我的主编辑器。 我不同意它有一个陡峭的学习曲线,但是会说由于它具有大量的特征,所以它具有学习曲线。您可以在短时间内保持高效,但如果您愿意,您可以在未来几年内学习它的新功能。

然而 - 不要指望Emacs的所有功能都可以在下拉菜单中使用,因为功能太多而无法在那里找到它。

正如我所提到的,我已经在MSW上使用了GNU Emacs多年。在我“升级”到2008年之前,它始终与Visual Studio配合良好;现在它有时在从磁盘刷新文件之前会延迟很多秒。 VS窗口中编辑的主要原因是“Intellisense”代码完成功能。

答案 21 :(得分:5)

虽然我使用Vim,但我的一些同事使用的SlickEdit看起来相当不错。我不确定集成调试,因为无论如何我们都无法在我们的特定项目上做到这一点。

SlickEdit确实支持导航大型代码库,具有交叉引用和标记跳转功能。当然它也有基本的东西,如语法高亮和代码完成。

答案 22 :(得分:5)

我听说Anjuta非常适合Gnome用户。我和KDevelop玩了一下它很好,但有点缺乏特色。 Code :: Blocks也很有前途,我最喜欢那个。

答案 23 :(得分:5)

我使用Eclipse CDT和Qt Creator(用于Qt应用程序)。

这是我的偏好。这是一个非常具有启发性的问题,答案与开发人员一样多。 :)

答案 24 :(得分:5)

Sun Studio版本12是免费下载(免费和付费支持) - http://developers.sun.com/sunstudio/downloads/thankyou.jsp?submit=%A0FREE+Download%A0%BB%A0

我确信您拥有代码完成和调试支持,包括此IDE中的插件支持。

Sun Studio适用于Linux和Solaris。 论坛:http://developers.sun.com/sunstudio/community/forums/index.jsp。 Sun Studio Linux论坛:http://forum.sun.com/forum.jspa?forumID=855

我很想听听您对此工具的反馈。

BR,
〜A

答案 25 :(得分:5)

我之前使用的是Ultimate ++ IDE,它相当不错。

答案 26 :(得分:5)

geany我建议

答案 27 :(得分:4)

SlickEdit的。自2005年以来,无论是在Windows上还是在Linux上,我都使用过SlickEdit。我也有使用Visual Studio(5,6,2003,2005)和Emacs和命令行的经验。我使用SlickEdit和外部makefile,我的一些队友使用SlickEdit,其他人使用Emacs / vi。我不使用集成调试器,集成版本控制,集成构建系统:我通常发现太多集成是真正的痛苦。 SlickEdit非常强大(很少有错误),快速而直观。它就像一辆德国汽车,一辆司机的汽车。

最新版本的SlickEdit似乎提供了许多我不感兴趣的功能,我有点担心该产品将来会变得臃肿和稀释。现在(我使用V13.0)很棒。

答案 28 :(得分:3)

对于基于CMake的项目,我使用Jetbrains CLion

对于基于Autotools的项目已经提到的Qtcreator。

其他一切:VIM + YouCompleteMe

答案 29 :(得分:3)

对我来说Ultimate++似乎是编写跨操作系统程序的最佳解决方案

答案 30 :(得分:3)

大约3年前,我一直在使用Anjuta进行大学项目。我最近没有使用它。但那时候很不错,所以最新发布的版本应该会更好。

答案 31 :(得分:3)

如果你长时间使用vim,那么你应该把它作为你的IDE。有很多插件可用。我发现其中有几个非常有用,并在这里编译,看看它。

vi / vim提示和更多内容那边的技巧系列。

答案 32 :(得分:2)

我更喜欢使用Emacs和Vim来编写C ++代码。当我需要使用IDE时,我使用CodeBlocks。

答案 33 :(得分:2)

我喜欢SciTE作为Linux上C ++ / Python的基本编辑器。它具有类似于VC的键盘绑定,因此您无需重新编程剪切和粘贴手指。

我将它与Git一起用于源代码控制和非常有用的'git grep'命令,用于在代码库中进行搜索。

我使用Eclipse CDT,但我的源代码库很大,我花了太多时间等待IDE。如果您的项目较小,可能对您有好处。

答案 34 :(得分:2)

使用Mono-Develop。它与Visual Studio非常相似。它跨平台工作,真棒!

答案 35 :(得分:1)

在Visual Studio上长大后,我发现相对年轻的Code::Blocks非常熟悉。

答案 36 :(得分:1)

康拉德的建议非常好,你应该在经典的vi / cc / ld / db / make环境中愉快地工作,而不会有太多麻烦。许多大学生在10-15周的课程中学习了这个工具链。

也就是说,另一个经典环境是走Emacs路线。我不会把它称为IDE,但它确实将两个重要的开发工具集成到编辑器中:编译器的输出和调试器。您可以将它压缩到文件中对应于编译器错误的行,您可以设置断点并使用编辑器中的步进器。

答案 37 :(得分:1)

我很高兴你似乎正在用vim解决这个问题。但我不得不说,我对你如何“真的喜欢Eclipse for Java”感到有点神秘,暗示你已经熟悉它是如何工作的。在那种情况下,你为什么不用它来用于C ++? CDT符合您提到的每一项要求。

答案 38 :(得分:1)

vim编辑器+ g ++编译器(GNU C ++)+ gdb - 可能对你有帮助

答案 39 :(得分:1)

IntelliJ IDEA + http://plugins.intellij.net/plugin/?id=1373

的C / C ++插件

准备让你头脑发热。

干杯!

答案 40 :(得分:0)

Code :: Blocks很棒。

答案 41 :(得分:0)

在我看来,最适合Linux的IDE是SlickEdit。它花费了一些钱,但它对标记和伟大的差异工具的快速,强大的支持,适用于大型项目。

答案 42 :(得分:0)

acme,来自plan9的山姆,

您可以通过用户空间的Plan 9使用它。

答案 43 :(得分:0)

您也可以尝试将emacs设置为IDE。

详细讨论here

答案 44 :(得分:0)

  

why wouldn't you also use it for C++? CDT meets every requirement you've mentioned.

我最初没有使用eclipse,因为我不确定它是否同样适合用C ++开发(高效)。除此之外,我还相信在Linux中必须有更好,更专业的工具可用于c ++开发:

  

我真的很喜欢java的[eclipse] IDE,   但它对c ++有什么用处,而不是我   错过了一些偶数的东西   更好?

我真的相信,虽然有些工具(比如eclipse)在许多方面都很出色,但最好还是寻找其他选项(我并不仅仅指IDE,但总的来说,甚至在< em>现实生活)...
就像在这种情况下,vim真的很棒,如果我坚持我已经知道的东西,我会错过它。