Linux 上的最佳 C/C++ IDE

Adrien Brochard 的头像

·

·

·

137,042 次阅读

“一个真正的程序员是不用IDE(译者注:集成开发环境)的,他们都是用带着某某插件的文本编辑器来写代码。”我们总能在某些地方听到此类观点。然而,尽管越来越多的人同意这样的观点,但是一个IDE仍然非常有用,它设置简单,使用起来也很方便,因此不能比这样更合适编写一个项目了。所以鉴于这点,在这里我想给大家列一份在Linux平台上比较好的C/C++ IDE清单。为什么特地说C/C++呢?因为C语言是我最喜欢的编程语言,而且我们总要找个切入点来开始。另外要注意的是,通常有很多种编写C代码的方法,所以为了消减清单的篇幅,我只选择了”真正好用的IDE”,而不是诸如Gedit或Vim这种注入插件的文本编辑器。并不是说这些编辑器不好,只是如果我将文本编辑器包含进去那这份清单就将永无止境了。

1. Code::Blocks

用我个人的最爱来开篇,Code::Blocks是一款简单快速的专有C/C++ IDE。就像任何一款强大的IDE一样, 它集成了语法高亮、书签功能、自动补全功能、项目管理和一个调试器。它最闪亮的地方在于它简单的插件系统,里面添加了不可缺少的工具,像Valgrind和CppCheck,还有不太重要的比如像俄罗斯方块这样的小游戏。但是我特别喜欢它的理由是它连贯方便的快捷键设定和大量的却感受不到拥挤的选项设置。

2. Eclipse

我知道我只说”真正好用的IDE”而不是带着插件的文本编辑器,但是,Eclipse的确是一款”真正好用的IDE”,只是Eclipse需要一些插件(或经过一些改装)来编写C程序,所以严格来说我无法反驳我自己。而且,做一份IDE清单不提到Eclipse这个“巨人”是不可能的事情。无论喜欢它与否,Eclipse仍然是一款强大的Java编程工具。这里要感谢CDT 项目,让Eclipse编写C程序变得可能。你同样可以体验到Eclipse的强大功能,包括它的一些传统功能特点比如自动补全、代码大纲、代码生成器和先进的重构功能。照我话说,它的不足之处在于它不如Code::Blocks那么轻量级,它仍然很臃肿,要花费很多时间去载入。但是如果你的电脑可以驾驭它,或者你是个忠实的Eclipse粉,那么它一定是你的不二选择。

3. Geany

牺牲了很多特色功能但是增加了很多灵活性,Geany就是这样一款与Eclipse对立的软件。但是对于它所缺乏的地方(比如说没有调试器), Geany用一些漂亮小巧的特色功能弥补了它们:一个可以做笔记的区域、基于模板创作、代码大纲、自定义快捷键和插件管理。相比于现在的IDE,Geany仍然是一款作用广泛的文本编辑器,然而,因为它的功能亮点和它的界面设计,所以我把它放在这份列表里。

4. MonoDevelop

这又是这份列表里的一个“巨人级”工具,MonoDevelop那无与伦比的体验来源于它的外表和界面。我个人非常喜爱它的项目管理体系和它的一体化版本控制系统。插件系统同样漂亮地让人震惊。但是由于一些原因,所有的设置和对所有编程语言的支持对于我来说让我感觉有点“资源过剩”了。它仍然是我在过去经常使用的伟大工具,但不是我在单单处理C语言时的第一选择。

5. Anjuta

它身上有着强烈的“GNOME即视感”,Anjuta的外观很具争议。我倾向于把它看作是带着调试器的Geany升级版,但是它的界面实际上要复杂得多。我确实很享受能在项目、文件夹和代码大纲视图之间来回切换的标签系统,我本想用诸如更多的快捷方法来移动文件,然而,这是一个很好的提供了显著编译功能和构建选项的工具,它能够支持哪些很有特点的需求。

6. Komodo Edit

我不是非常熟悉Komodo Edit,但是在试用了一段时间之后,我被它很多很多的优点给惊喜到了。首先,基于标签的导航功能有很强的可预见性。其次它奇特的代码大纲让我想到了Sublime Text。此外,它的宏系统和文件比较器使得Komodo Edit非常实用。它的插件库让它几乎是完美的,说“几乎”是因为在其它IDE里我的确找不到能与之相媲美的快捷方法了。而且我们能享受到更多特别的C/C++工具,这往往是普通IDE的不足之处。然而,Komodo Edit就能做到。

7. NetBeans

就好像Eclipse一样,这又是一款不得不提的“巨人级”软件。拥有的功能包括通过标签进行导航、项目管理、代码大纲、更改历史追踪和大量工具,NetBeans可能是最完整的IDE了,我能用半页来列出它所有让人震惊的特色功能。但是这同时也很容易地向你透露了它的主要缺点,它太臃肿了。比起它的强大,我更喜欢基于插件的软件,因为我觉得不太会有人为了一个同样的项目同时需要Git和Mercurial相结合来工作,我是不是很疯狂?但是如果你有耐心去掌握它所有的选项,那你差不多无论到哪里都是IDE大师了。

8. KDevelop

说到这,肯定照顾到所有的KDE粉丝,KDevelop会是你希望的答案。它拥有许多配置选项,如果你设法去征服KDevelop,那它就是你的。你们说我肤浅,但是我真的从来没有深入过除它界面以外的层次了,对于我来说编辑器本身就携带着大量的导航选项和可定制的快捷键简直是一个再糟糕不过的事了。它的调试器也是相当高级,要去练习掌握。然而,这样的耐心是有回报的,就是能领会到这款灵活的IDE的全部能力,并且由于它令人吃惊的嵌入式文件编制,你会给予它一种特殊的信任。

9. CodeLite

留在最后的不代表是最差的,CodeLite展现给你一种传统的编程规则却仍然能让你从它身上那特有的感觉上有所收获,即使它的界面一开始的确让我想到了Code::Blocks和Anjuta,只是不包括大量的插件库。无论你想要比较文件、插入一条版权块、定义缩略语或者用Git来工作,总有一款插件适合你。如果我不得不挑点毛病,我想说它缺乏一些符合我口味的导航快捷键,但这是真的。

最后,我希望这份清单能让你给自己最喜欢的语言探索到更多新的IDE。虽然Code::Blocks仍然是我的最爱,不过它有一些很强大的对手。当然我们也可以远离Linux上的IDE,而用文本编辑器去编写C/C++代码。所以如果你有什么其它的建议想法,在评论中让我们获悉。或者如果你想要我再说说关于一些其它语言的IDE,也可以评论里提出。


via: http://xmodulo.com/good-ide-for-c-cpp-linux.html

作者:Adrien Brochard 译者:ZTinoZ 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

51 条回复

  1. 微博评论 的头像
    微博评论

    真正程序员不需要IDE?呵呵。。。一个能一天完成的项目你非得做三天,这样装逼是不是太过了

    来自天津
  2. 微博评论 的头像
    微博评论

    我就喜欢用文本编辑器写代码看代码,是不是太变态了?

    来自天津
  3. 微博评论 的头像
    微博评论

    推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自天津
  4. 微博评论 的头像
    微博评论

    我不用ide是因为电脑太卡[汗]

    来自天津
  5. 微博评论 的头像
    微博评论

    Sublime//@Linux中国: 推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自天津
  6. 微博评论 的头像
    微博评论

    一直在用Eclipse CDT //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自天津
  7. 微博评论 的头像
    微博评论

    没有clion不开心//@韩天峰-Rango: 一直在用Eclipse CDT //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自天津
  8. 微博评论 的头像
    微博评论

    我觉得idea的clion还是蛮有希望的[汗]

    来自天津
  9. 微博评论 的头像
    微博评论

    大二初学JSP的时候,老师一直让用记事本写代码,再建相关的文件夹,因为当时没有办网,不能查资料,而且那个破教材里居然没有介绍eclipse软件写Web程序,以至于最后觉得JSP超级无聊就没学,直到期末老师才介绍了这个软件,但没说怎么用,因为没网,大三学框架的时候走了超多弯路……

    来自天津
  10. 微博评论 的头像
    微博评论

    //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自天津
  11. 微博评论 的头像
    微博评论

    没有CLion,不开森!话说[最右]是来拉仇恨的么?[doge]//@__叶左左: //@韩天峰-Rango:一直在用Eclipse CDT //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自烟台
  12. 微博评论 的头像
    微博评论

    CLion 确实很方便啊 最近一直用啊 ide虽然傻瓜化,但是简单粗暴啊 //@网路冷眼: 没有CLion,不开森!话说[最右]是来拉仇恨的么?[doge]//@__叶左左: //@韩天峰-Rango:一直在用Eclipse CDT //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么?

    来自烟台
  13. 微博评论 的头像
    微博评论

    決定來學學看CLion,不支道有沒有scons集成//@网路冷眼: 没有CLion,不开森!话说[最右]是来拉仇恨的么?[doge]//@__叶左左: //@韩天峰-Rango:一直在用Eclipse CDT //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自烟台
  14. 微博评论 的头像
    微博评论

    IDE-_-||完成速度较快吧

    来自烟台
  15. 微博评论 的头像
    微博评论

    前两个就很好//@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自烟台
  16. 微博评论 的头像
    微博评论

    Linux中国:【Linux 上的最佳 C/C++ IDE – 译者:ZTin……】

    来自北京
  17. 微博评论 的头像
    微博评论

    不装B会死吗。每天写HelloWorld是不需要IDE

    来自北京
  18. 微博评论 的头像
    微博评论

    code lock,相当稳定。 //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自北京
  19. 微博评论 的头像
    微博评论

    居然没qtcreator//@网路冷眼:没有CLion,不开森!话说[最右]是来拉仇恨的么?[doge]//@__叶左左: //@韩天峰-Rango:一直在用Eclipse CDT //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自莆田
  20. 微博评论 的头像
    微博评论

    Clion is the best//@韩天峰-Rango: 一直在用Eclipse CDT //@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自莆田
  21. 微博评论 的头像
    微博评论

    Code::Blocks真的很棒。 //@Linux中国: 推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自莆田
  22. 微博评论 的头像
    微博评论

    [偷笑]//@2gua: Code::Blocks真的很棒。 //@Linux中国: 推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么?

    来自莆田
  23. NNext 的头像
    NNext

    我感觉你是来啦仇恨的,JetBrain Clion c/c++ 去哪里了,以上都是难用死了

    来自银川
  24. 微博评论 的头像
    微博评论

    Linux上的真心不错,win下的……哎……//@2gua: Code::Blocks真的很棒。 //@Linux中国: 推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自广州
  25. 微博评论 的头像
    微博评论

    为啥没QT-Creator咧?这个用的应该很多吧?//@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自广州
  26. 微博评论 的头像
    微博评论

    maybe CLion will win the game.

    来自北京
  27. 微博评论 的头像
    微博评论

    //@2gua:Code::Blocks真的很棒。 //@Linux中国: 推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

    来自北京
  28. 微博评论 的头像
    微博评论

    说这句话的人就是瞎JB得瑟!就好比一个人花拳绣腿,一个人拿把枪,花拳绣腿挺好看,有毛用,一个枪子儿搞定!重要的是得出活儿!

  29. 微博评论 的头像
    微博评论

    马,大概用不上//@Linux中国:推荐了九个 IDE,C/C++开发者可以看看,话说除了 vim/emacs 之争,IDE 也会引发战争么? @2gua @网路冷眼

  30. 微博评论 的头像
    微博评论

    mark~

    来自北京
  31. 微博评论 的头像
    微博评论

    居然木有qt creator

  32. 微博评论 的头像
    微博评论

    一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

  33. 微博评论 的头像
    微博评论

    嗯,这是一种典型的模式。//@瘦古龙: 一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

    来自深圳
  34. 微博评论 的头像
    微博评论

    文本编辑器一直在用vim,ide[拜拜]//@Linux中国:嗯,这是一种典型的模式。//@瘦古龙: 一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

    来自深圳
  35. 微博评论 的头像
    微博评论

    linux编程环境肯定还是编辑器好

    来自深圳
  36. 微博评论 的头像
    微博评论

    niure//@Linux中国:嗯,这是一种典型的模式。//@瘦古龙: 一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

    来自上海
  37. 微博评论 的头像
    微博评论

    Notepad++很好用//@Linux中国:嗯,这是一种典型的模式。//@瘦古龙: 一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

    来自上海
  38. 微博评论 的头像
    微博评论

    爱用什么用什么,完全是个人习惯,没意义的争论就是浪费时间。//@Linux中国:嗯,这是一种典型的模式。//@瘦古龙: 一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了

    来自上海
  39. 微博评论 的头像
    微博评论

    vim用的舒服啊//@瘦古龙: 一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

    来自郑州
  40. 微博评论 的头像
    微博评论

    他人眼里是自虐,自我眼里是优越. 自己喜欢适合就好.

    来自深圳
  41. 微博评论 的头像
    微博评论

    //@Linux中国:嗯,这是一种典型的模式。//@瘦古龙: 一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

    来自宁波
  42. 微博评论 的头像
    微博评论

    为了高效的工作,我愿意用IDE。本来敲代码就是体力活!你还不愿意用工具…

  43. 绿色圣光 的头像
    绿色圣光

    我用CodeLite

    来自青岛
  44. 微博评论 的头像
    微博评论

    idea 14 ?? 这个不错//@Linux中国: 嗯,这是一种典型的模式。//@瘦古龙: 一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

    来自北京
  45. 微博评论 的头像
    微博评论

    mark//@瘦古龙:一直不太会用ide, 按钮太多,不知道点哪个,我的php,java代码,甚至html,css代码都是一行行用vim敲出来的。当然还有一个原因就是console使用惯了,编译器之类的参数还是直接显示出来比较舒服,而且控制还灵活。

    来自长春
  46. 来自 - 上海 的 Safari/Linux 用户 的头像
    来自 – 上海 的 Safari/Linux 用户

    codeblock我都不知道怎么让它支持c99,差评…

    来自上海
  47. 来自 - 江苏南京 的 Chrome/Windows 用户 的头像
    来自 – 江苏南京 的 Chrome/Windows 用户

    -std=c99

    来自南京
  48. 来自广东广州的 Chrome 46.0|GNU/Linux 用户 的头像
    来自广东广州的 Chrome 46.0|GNU/Linux 用户

    小白用户弱弱地问一句,用这些IDE编译C的源码的时候,这些IDE都是调用GCC吗?还是有各自专用的Compiler?
    原谅我只知道GCC

    来自广州
  49. linux [Chrome 46.0|Mac 10.11] 的头像
    linux [Chrome 46.0|Mac 10.11]

    默认应该都是 gcc,如果你有其它的编译器,也可以配置。

    来自北京
  50. 来自吉林长春的 Chrome 42.0|GNU/Linux 用户 的头像
    来自吉林长春的 Chrome 42.0|GNU/Linux 用户

    CLion 不在其中表示不服

    来自长春
  51. 来自陕西西安的 Chrome 54.0|GNU/Linux 用户 的头像
    来自陕西西安的 Chrome 54.0|GNU/Linux 用户

    Gnu 需要一个好IDE.

    来自西安

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注