适用于Linux的C ++ IDE?

适用于Linux的C ++ IDE?

C++ IDE for Linux?

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

我可以找到这些SO主题:

  • 适用于Linux和Linux的轻量级IDE
  • 你用什么工具来开发
    Linux上的C ++应用程序?

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

那么我的问题是:

What good, C++ programming IDE is available for Linux?

最小值是相当标准的:语法高亮,代码完成(如intellisense或其Eclipse对应)和集成调试(例如,基本
断点)。

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

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

也许我的问题应该是:

What IDE do you propose (given your experiences), and why?


最初:混乱

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

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

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

  • 首先你设置你的shell

    • Bash,就我而言,但很多人更喜欢
    • 鱼或
    • (哦,我的)Zsh;
  • 和你的编辑;选择你的毒药 - 两者都是最先进的:

    • Neovim2或
    • Emacs的。

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

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

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

给每个人自己

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

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

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

1我从dsm的评论中偷走了那个头衔。

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


我个人最喜欢的是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(会很高兴)

  • 代码::块
  • Eclipse CDT
  • 很快你会发现IDE还不够,你还是要学习GCC工具链(这并不难,至少要学习基本功能)。但IMO还不能减少IDE的过渡性痛苦。


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

    • C / C ++项目和模板:支持语法高亮,
      自动代码完成,自动缩进。
    • 它有一个C / C ++调试器
    • 支持编译器配置,配置管理器和Makefile支持(带有
      向导)。
    • 它有一个Classes窗口,一个Usages窗口和一个文件导航窗口(或面板)。
    • 宏扩展视图和工具提示。
    • 支持QT开发。

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

    祝好运!


    至少对于Qt特定项目,Qt Creator(来自Nokia / Trolltech / Digia)显示出巨大的希望。


    could you clarify a little bit more how it was for you, what you had to change. Maybe you could point me in the right direction by providing some links to the information you used.

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

    1
    $ man toolname

    在命令行上($这里是提示的一部分,而不是输入)。

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

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

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

    Also I'm curious, do you have code completion and syntax highlighting when you code?

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

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

    do you have to compile first before getting (syntax) errors?

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

    and how do you debug (again think breakpoints etc)?

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

    Like I said, I had the 'pleasure' to set my first steps in the Java programming language using windows notepad and the command line java compiler in high school, and it was, .. wel a nightmare! certainly when I could compare it with other programming courses I had back then where we had decent IDE's

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

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


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

    Slickedit是一款出色的IDE。

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


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

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

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


    只需快速跟进这个问题......

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

    我喜欢你如何塑造Vim来满足你的需求;
    只需添加/更改键映射,Vim就变成了
    高效的'IDE'。

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

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

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

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

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


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

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


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


    更短的答案是:选择你喜欢的任何"编辑器",然后使用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相比,它的调试器有许多缺点。

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

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

    例如,你有一个像这样的数组:

    1
    2
    3
    4
    5
    6
    7
    8
    struct IdAndValue
    {
      int ID;
      int value;
    };


    IdAndValue IdAndValues[1000];

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    define PrintVal
    set $i=0
    printf"ID = %d
    "
    , $arg0
    while $i<1000
      if IdAndValues[$i].ID == $arg0
        printf"ordinal = %d, value = %d
    "
    , $i, IdAndValues[$i].vaue
        set $i++
      end
    end
    end

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

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

    顺便说一下,NetBeans确实附带了GDB控制台,但是通过使用控制台,你可能会崩溃Netbeans。我相信这就是NetBeans默认隐藏控制台的原因


    我使用的"Geany"到目前为止发现它的快速和轻量级IDE。

    Geany的功能包括:

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

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


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

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

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

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


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


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


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


    在Linux上有很多IDE:

    • 代码::块
    • Codelite
    • KDevelop的
    • Qt Creator
    • Eclipse与CDT
    • NetBeans的

    根据我的经验,最有价值的是Eclipse和Qt Creator。
    两者都提供所有"标准"功能(即自动完成,语法突出显示,调试器,git集成)。
    值得注意的是,Eclipse还提供了重构功能,而Qt Creator提供了与Valgrind的集成以及对远程目标上的部署的支持。

    商用CLion IDE看起来也不错(但我没有广泛使用它)。


    也许Eclipse的Linux工具项目可以满足您的需求?

    The Linux Tools project aims to bring a full-featured C and C++ IDE to Linux developers. We build on the source editing and debugging features of the CDT and integrate popular native development tools such as the GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng, etc. Current projects include LTTng trace viewers and analyzers, an RPM .spec editor, Autotools build integration, a Valgrind heap usage analysis tool, and OProfile call profiling tools.


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


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


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

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


    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,
    ?一


    And then I noticed that this simply isn't how you work there*, and I threw everything out, spent a few days reading manuals, set up my shell (bash), set up a GVIM environment, learned the GCC/binutils toolchain, make and gdb and lived happily ever after.

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

    As an old-time UNIX guy, I always use Emacs. But that has a pretty steep
    and long learning curve, so I'm not sure I can recommend it to newcomers.

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

    但是 - 不要期望Emacs的所有功能都可以在下拉菜单中使用,因为在那里找到它的功能太多了。

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


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

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


    我推荐的


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

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


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

    • C / C ++ IDE
    • 源代码浏览器

    在那里的vi / vim提示和技巧系列中还有更多。


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

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

    其他一切:VIM + YouCompleteMe


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


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


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


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

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

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


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


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


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


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


    IntelliJ IDEA + http://plugins.intellij.net/plugin/?id=1373上的C / C ++插件

    准备好让你头脑发热。

    干杯!


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

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


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

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

    and I really like that [eclipse] IDE for java,
    but is it any good for c++ and won't I
    miss out on something that is even
    better?

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


    Code :: Blocks很棒。


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

    详细信息在这里讨论。


    极致,来自plan9的山姆,

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


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


    推荐阅读