Linux版C ++ IDE?[关闭]


209

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

我可以找到以下SO主题:

我不是在寻找轻量级的 IDE。如果一个IDE值得花钱,那么我会为此付费,因此它不必免费。

然后,我的问题是:

Linux有什么好的C ++编程IDE?

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

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

第二篇文章实际上提出了一些好的建议,但是我所缺少的是究竟是什么使Sugested IDE对用户如此好,其(缺点)有什么优点?

因此,也许我的问题应该是:

您提出什么IDE(根据您的经验),为什么?


1
我认为,这是一两天后的第四个“我应该在Linux上使用哪种IDE”问题。
Ben Collins

也许您应该看看提出这个问题的日期...或将更新的问题指向此处
sven

在最新的发行版中,Eclipse将eclipse.org/linuxtools集成到其发行版中-该项目旨在通过集成特定于Linux的工具,使Eclipse成为Linux上更加完善的C / C ++ IDE。
Jean Hominal 2010年

Answers:


259

最初:混乱

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

顿悟:UNIX是一个IDE。所有的。1个

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

然后,根据您的需要,您将不得不安装和配置多个插件以使编辑器正常工作(这是令人讨厌的一部分)。例如,大多数Vim程序员将受益于YouCompleteMe插件的智能自动补全功能。

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

关键是,由于外壳程序和一些工具编写约定,所有这些都相互集成在一起。这样一来,Linux Shell就成为了真正的集成开发环境,与其他现代IDE完全一样。(这并不意味着单个IDE不具备命令行可能缺少的功能,但是反之亦然。)

给每个人自己

一旦您习惯了,我就不能高估上述工作流程的功能。但是有些人只是喜欢图形编辑器,而且自从最初写出这个答案以来,多年来,Linux已经为几种不同的编程语言(但据我所知,不是针对C ++)获得了一套出色的图形IDE。即使像我一样,即使您最终不使用它们,也请尝试一下。这只是一个小的偏见:

请记住,此列表远非完整。


1我从dsm的评论中窃取了该标题。

2我以前在这里指的是Vim。尽管普通Vim的功能仍然强大,但Neovim有望重新启动,并对一些旧疣进行了现代化改造。


223
我强烈不同意。无论您在做什么,一个体面的想法都很重要。它大大提高了生产率。我使用代码块,发现回到VI几乎是不可能的。我已经在Mac,Win和Linux上进行了编码,尽管我发现Visual Studio是最好的IDE,但是代码块已经接近了。
DavidG

35
David,也许您可​​以详细说明(自己的答案…)我所描述的IDE提供的工具链中到底缺少了什么。就像我说过的那样,我来自强大的IDE背景,而我的生产率提高恰恰是与您相反的。
康拉德·鲁道夫

48
Vim提供什么重构支持?在Eclipse(在Linux下运行)中,即使可以在300个地方调用,我也可以更改任何希望使用的Java方法的名称。您可以在Vim中轻松做到吗?
quant_dev

25
quant_dev:重构需要以某种方式解析源代码。据我所知,没有VIM模块可以这样做,因此您的问题的答案为“无”。这就是偏爱以IDE为中心的语言(例如Java)的IDE的原因之一。由于对C ++的重构支持(等)是如此之小(即使在IDE中也是如此),因此这不适用于C ++。
康拉德·鲁道夫2009年

11
@hasen:哦,但是大部分可以。例如,范围感知重命名。相信我,这很大。而Ecplise(例如)可以在这里节省很多工作。
康拉德·鲁道夫

86

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

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

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

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

毕竟,我决定使用CodeLite2.x

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

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

带有CDT插件的Eclipse Galileo

优点:

  • 合理快速
  • 还支持Java,Perl(带有EPIC插件)
  • 常用且维护良好
  • 也可用于其他OS风格(Windows,MacOS,Solaris,AIX(?))

缺点:

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

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

优点:

  • 我见过的最直观的GUI之一
  • 还支持Java,Python,Ruby
  • 集成了CVS,SVN,Mercurial
  • 常用且维护良好
  • 也可用于其他OS版本(Windows,MacOS,Solaris)

缺点:

  • 极慢
  • 重的
  • 使用空格进行缩进,这不是我的工作策略。我确定这是可配置的,但是我不知道该怎么做

KDevelop4(注意:我没有对其进行太多测试)

优点:

  • 通常在Linux上使用
  • 集成了CVS,SVN,Mercurial

缺点:

  • GUI看起来有些过时
  • 重的
  • 非常特定于KDE环境

CodeBlocks 8.02(注意:我没有对其进行太多测试)

优点:

  • 合理快速

缺点:

  • GUI看起来有些过时(尽管它有一个不错的启动屏幕)
  • 编辑器中的字体很小
  • 一些图标(例如与调试器相关的图标开始/步进)非常小
  • 没有源代码控制集成

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

优点:

  • 我在Linux上看到的最好,现代且直观的GUI
  • 轻巧的
  • 合理快速
  • 集成SVN
  • 也可用于其他OS版本(Windows,MacOS,Solaris(?))

缺点:

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

14
Eclispe通过插件支持Hg,Git,SVN等。启动/启动画面会吸引大球。他们浪费了资源,却没有什么好处。在等待应用程序加载时,它们通常会弹出我正在处理的内容的前面。PortableApps和Eclipse需要摆脱它们。
克里斯·K

4
Codelite具有与Visual Studio相同的键盘快捷键来进行调试,因此对Visual迷来说非常用户友好。
Raoul Supercopter

可能在这里击败了一匹老马,但是IMO eclipse的GUI确实是无与伦比的。是的,一开始很难学习,但是有点像Vi,在您爬上陡峭的学习曲线后,生产力开始猛增。为了证明这一点,请尝试按Ctrl + 3键,这是Eclipse IMO中非常出色的功能之一。
kizzx2

“缺点:使用空格进行缩进[...]我确信这是可配置的,但是我不知道该怎么做。” 这表明您还没有真正使用过工具,否则,您最终会找到该选项。
JohanBoulé10年

5
CodeLite令人赞叹,就像嚼牙本质冰胶一样。它会在您的口中留下新鲜薄荷的味道。Eclipse虽然功能强大,但在使用时也会使您产生这种呕吐的味道。我知道这听起来很幼稚,但这确实是解释使用它们的“感觉”的最佳隐喻。我相信其他人也会同意我的看法。
Didier A.

75
  1. 代码::块
  2. Eclipse CDT

很快,您会发现IDE不够用,无论如何您都必须学习GCC工具链(这并不难,至少要学习基本功能)。IMO减轻了IDE的过渡痛苦,但没有任何危害。


对于代码块+1,是的,您肯定希望至少学习如何从Shell编译和运行程序,因为code :: blocks有点夸张。
Earlz 2010年

Eclipse根本不是轻量级的恕我直言,代码:: Blocks ...只是
rubenvb 2010年

7
-1为代码块。-1表示日食。他们都在调试期间更改了自己的UI。到新手用户通常感到迷茫的地步。他们俩都无法调试fork。他们都在SVN / CVS集成方面遇到了麻烦的问题。(最新的Eclipse与Subclipse串联在一起,在11年4月28日在Gnome中被破坏,并且每10分钟崩溃一次)。设置源代码管理是一场噩梦,与这些IDE集成同样困难。
bleepzter

4
@bleepzter -1,用于使用SVN / CVS以;开头)
OneOfOne

1
Mercurial,Git和Bazaar在各个方面都非常优越。
2011年

66

一个快速的答案,只是为该主题增加了一点知识:
您一定要检查NetBeans。Netbeans 6.7具有以下功能:

  • C / C ++项目和模板:支持语法突出显示,自动代码完成,自动缩进。
  • 它具有一个C / C ++调试器
  • 支持编译器配置,Configuration Manager和Makefile支持(带有向导)。
  • 它具有一个“类”窗口,一个“用法”窗口和一个“文件导航”窗口(或面板)。
  • 宏扩展视图,并且还工具提示
  • 支持QT开发

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

祝好运!


2
对于c ++来说也确实很好。它是有史以来最好的语言解析器。
JohanBoulé2010年

1
对于c ++开发,我比Eclipse更喜欢Netbeans。
Thomas Langston 2010年

9
NetBeans比Eclipse更有趣,我真的希望更多的人开始意识到这一点。
DidierA。

1
在与Eclipse战斗了数周之后,我发现了这一点,改用NetBeans,谢谢!它具有更好的界面,响应更快,更具启发性且可自定义。击败Eclipse
Frederik

1
另一个投票是NetBeans比Eclipse更好。到目前为止,它还具有我使用过的最好的Vim仿真(作为插件)。
thinkon


32

您能否再说明一下您的情况,您必须更改的内容。通过提供一些指向您使用的信息的链接,也许您可​​以为我指明正确的方向。

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

$ man toolname

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

根据平台的不同,它们的编写方式也很不错,也可以在Internet上找到它们。对于make,我实际上阅读了完整的文档花了几个小时。实际上,在大多数情况下,我认为这不是必需的或无用的,但是在Linux下的第一次作业中,我有一些特殊的要求,即需要复杂的Makefile。编写了makefile之后,我将其交给了一位经验丰富的同事,他做了一些小的调整和更正。在那之后,我几乎知道了make

我之所以使用GVIM,是因为我之前有一些(但不是很多)经验,我对Emacs或替代品一无所知。我发现读取其他人的.gvimrc配置文件确实有帮助。许多人将其放在网络上。这是我的

不要尝试一次掌握所有binutils,因为函数太多。但是,请获取一般概述,以便将来在需要某些东西时会知道在哪里搜索。你应该,但是,知道所有的重要参数g++ld(即会自动调用时明确地防止除了GCC连接工具)。

我也很好奇,编写代码时您是否有代码完成和语法高亮显示?

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

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

在遇到(语法)错误之前必须先编译吗?

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

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

我使用gdb哪个是命令行工具。还有一个称为的图形前端DDDgdb是一种现代的调试工具,可以完成您在IDE中可以做的所有事情。唯一让我烦恼的是读取堆栈跟踪信息,因为行没有缩进或格式化,因此当您使用很多模板时(实际上我确实会这样做),很难扫描信息。但是,这些也使IDE中的堆栈跟踪变得混乱。

就像我说的那样,在高中时,我有“高兴”地使用Windows记事本和命令行Java编译器来设置Java编程语言的第一步,这真是一场噩梦!当然,当我可以将其与其他编程课程进行比较时,我曾经拥有过不错的IDE

您甚至不应尝试将现代的全功能编辑器(例如Emacs或GVIM)与记事本进行比较。记事本是一种精美的TextBox控件,它的确与众不同。此外,在Linux和Windows中使用命令行进行操作是非常不同的体验。窗户cmd.exe严重瘫痪。PowerShell更好。

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


@confuzatron:不,出于几个原因,我使用gdb。最重要的是,我通常在没有任何X服务器运行的情况下工作。另外,对于DDD相当长时间没有看到任何更新,我感到有些不舒服。另一方面,项目所有权刚刚发生变化,并且似乎正在发生变化。
Konrad Rudolph

感谢您提供标签信息wrt gvim,从不
陌生

VS2010突出显示没有编译的语法错误。
赵楚瑜

@Candy是的,VS2010在这方面做了很多更改,并为后台编译添加了高级功能。但是gvim同时也通过插件添加了许多功能。特别是,您现在可以通过clang_complete插件在不进行编译的情况下突出显示语法错误。这个答案是从2009年开始的,有些零件已经过时了。但是各方都有改进,因此或多或少趋于平衡。
Konrad Rudolph

25

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

Slickedit是出色的IDE。

它很好地支持大型代码库,而不会减慢或花费所有时间进行索引。(这是我在Eclipse的cdt中遇到的问题)。实际上,Slickedit的速度可能是最好的选择。
代码补全效果很好,并且有很多选项可用于自动格式化,美化和重构。
它确实具有集成调试功能。
它具有插件支持和相当活跃的社区来创建它们。
从理论上讲,您应该能够与从事传统Makefile制作工作的人们很好地集成在一起,因为它可以直接从一个项目创建一个项目,但是效果不如我尝试时那么顺畅。
除Linux外,如果需要,还有Mac和Windows版本。


23

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

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

了解所有单个工具(gcc,make,gdb等)如何工作真的很重要。这样做之后,您可能会发现Visual Studio的处理方式非常有限。


Eclipse CDT“不是很有用吗?” 详细说明会有所帮助。我发现它非常有用(且易于使用)。
John Zwinck

“还不是很有用”:自动完成功能通常不起作用,导航至声明或函数使用不起作用,语法高亮显示并不总是有效,重构不起作用等等。这比使用vi更好。GDB前端UI是唯一值得使用的东西,恕我直言。
克里斯托弗·约翰逊

我还没有真正尝试使用CDT进行重构,但是其他事情似乎仍然有效。我将注意到,我使用一些相当大的最大内存使用配置参数(我有8-12 GB的RAM)运行Eclipse,但看起来还不错。
John Zwinck

上一次我尝试使用Eclipse CDT时,自动完成的语法/语义解析器使整个IDE每次被冻结8秒。它使整个功能无用。我不敢相信这件事没有在它自己的线程中运行。这是两年前的事,所以希望现在可以解决。(对吗?)

我发现CDT很棒,因为我涉足QT和Boost。在带有Mingw的Windows上有问题,但是在适当的Posix环境中,自动完成效果很好!导航到声明实际上是一个明显的漏洞。但是考虑到C ++可以有多个相同的声明,我并不感到惊讶。这是比Java更难解决的问题。
克里斯K,2010年

18

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

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


5
我可以为此添加+1。netbeans具有我在一个理想中见过的最好的c ++语言解析器;击败了Eclipse的cdt。
JohanBoulé10年

18

请快速跟进此问题...

自从我开始使用Vim作为在Linux上进行C ++编程的主要“ GUI”工具以来,已经过去了一个月。刚开始时,学习曲线确实有些陡峭,但是过了一会儿,打开了正确的选项并运行了脚本了我真的很乐在其中!

我喜欢如何调整Vim以适应您的需求的方式;只需添加/更改键映射,Vim就会变成高效的“ IDE”。

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

但是调试器ddd并不是那么好,但这也许是因为我没有时间适当地掌握它。

因此,对于像我一样正在或一直在Linux中寻求良好C ++ IDE的任何人,最好的选择是使用Linux本身的标准可用工具(Vim,g ++,ddd),并且您至少应该尝试使用他们,在寻找其他东西之前...

最后但并非最不重要的一点,我真的要感谢konrad在这里的回答,它确实帮助我在Linux开发环境中找到了自己的出路,谢谢!

我也没有关闭这个问题,所以人们仍然可以做出反应,甚至可以向已经非常不错的答案中添加新的建议或补充...


您可以在Vim + ctags中使用类似于IntelliSense的功能吗?不仅是自动完成功能,还包括上下文相关信息,例如功能的参数列表等?
kizzx2

@ kizzx2:是的,还有很多的选择
Fred Nurk 2011年


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,例如矢量,列表,双端队列和地图等。
  7. 没有观察点。当您需要在更改变量时立即停止应用程序时,需要具有此功能。基于Intel的计算机具有硬件监视点,因此监视点不会降低系统的速度。如果不使用观察点,可能会花费许多小时才能找到一些难以发现的错误。“ Visual Studio”将“监视指针”称为“数据断点”。

该列表可能更长。

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中默认隐藏控制台的原因


好点子。但是不幸的是,GDB的学习曲线非常陡峭。我使用它已有多年了,但我仍然从未使用过宏,而且(尽管我知道这是可以通过宏来实现!)我投掷给它的任何STL代码都无法比现代IDE更好地进行调试。
康拉德·鲁道夫

我花了2天的时间来掌握GDB中的大多数命令。一旦知道了GBD的原始功能,您将永远不会回头。修复难以发现的错误时,它将节省大量时间。
张查理

11

我正在使用迄今为止发现的很好的“ Geany ”,它是快速且轻便的IDE。

Geany的功能包括

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

10

如果您喜欢Eclipse for Java,则建议使用Eclipse CDT。尽管C / C ++支持并不像Java那样强大,但它仍然提供了大多数功能。它具有一个名为Managed Project的很好的功能,如果您没有Makefile的经验,则可以更轻松地使用C / C ++项目。但是您仍然可以使用Makefiles。我使用C和Java编码,对CDT感到非常满意。我正在为C中的嵌入式设备和与该设备通信的Java应用程序开发固件,并且很高兴为两者使用相同的环境。我想这可能会使我更有生产力。


9

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

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

综上所述,我建议像上面几个建议的那样,尝试使用代码块。它突出显示了不错的代码,这是创建项目,编写代码,运行它等的一种非常轻松的方法,这是真正的IDE的核心,并且看起来相当稳定。调试很烂...我从未见过任何Linux / unix变体中不错的交互式调试器。gdb是不是。如果您习惯了Visual Studio风格的调试,那么您将很不走运。

无论如何,我会整理自己的东西,我知道只有一个视图的linux人群会大声喊叫,让我立即离开城镇。


你有一定道理。它不是我们所知道的IDE。但是有趣的是,OP投票赞成该答案!将颜色钉在桅杆上:我是命令行makefile的粉丝。
ScrollerBlaster 2012年

最终,一个有头脑的人...我猜如果其他人可以使用emacs / vim进行所有操作,他们只会编写一些琐碎的东西。
菲波(Pippo)


7

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


哇!关于截图,看起来真的很棒!我一定会尝试的。你知道我是否要付钱吗?(这是不太终极++网站上清除)

不,它是免费的,如“语音”,“啤酒”和“骑行”。他们甚至对接受补丁都非常开放,并且经常发布,因此它是开源的:)
dguaraglia

7

我真的建议代码块。它不像Eclipse那样繁重,并且得到了Visual Studio项目的支持。


6

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

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


6

在Linux上,有很多IDE:

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

商用CLion IDE似乎也不错(但是我没有广泛使用它)。


5

我听说Anjuta对于Gnome用户而言非常流畅。我在KDevelop上玩了一点,它很好,但是有点缺乏功能。代码::块也很有前途,我最喜欢那个。


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



5

然后我注意到,这根本不是您在那工作的方式*,我把所有东西都扔掉了,花了几天时间阅读手册,设置了我的shell(bash),设置了GVIM环境,学习了GCC / binutils工具链, make和gdb从此过着幸福的生活。

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

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

我会第二 在Linux和MSW(XP2,W2K)上都将Emacs用作我的主要编辑器。我不同意它的学习曲线很,但是我要说,由于功能众多,它的学习曲线很长。您可以在短时间内提高工作效率,但是如果您愿意,可以在未来的几年中学习它的新功能。

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

如前所述,我在MSW上使用GNU Emacs已有多年了。在我“升级”到2008年之前,它在Visual Studio中一直运行良好。现在,从磁盘刷新文件有时会延迟几秒钟。在VS窗口中进行编辑的主要原因是“ Intellisense”代码完成功能。



5

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

SlickEdit确实具有通过交叉引用和标签跳转来导航大型代码库的良好支持。当然,它也具有语法突出显示和代码完成之类的基本内容。


5

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

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


4

SlickEdit。自2005年以来,我一直在Windows和Linux上使用并喜欢SlickEdit。我也有在Visual Studio(5、6、2003、2005)以及Emacs和命令行中工作的经验。我将SlickEdit与外部Makefile一起使用,我的一些队友使用SlickEdit,其他人则使用Emacs / vi。我不使用集成的调试器,集成的版本控制,集成的构建系统:通常,我发现太多的集成才是真正的难题。SlickEdit功能强大(几乎没有错误),快速且直观。就像德国的汽车,司机的汽车。

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



3

如果您长时间使用vim,那么实际上应该将其作为IDE。有很多可用的插件。我发现其中一些非常有用,并在这里进行了编译,看看它。

在那边的vi / vim提示与技巧系列中还有更多内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.