TranslateProject/published/201503/20150114 What is a good IDE for C or C++ on Linux.md
2015-04-01 00:29:18 +08:00

83 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Linux 上的最佳 C/C++ IDE
================================================================================
"一个真正的程序员是不用IDE译者注集成开发环境他们都是用带着某某插件的文本编辑器来写代码。"我们总能在某些地方听到此类观点。然而尽管越来越多的人同意这样的观点但是一个IDE仍然非常有用它设置简单使用起来也很方便因此不能比这样更合适编写一个项目了。所以鉴于这点在这里我想给大家列一份在Linux平台上比较好的C/C++ IDE清单。为什么特地说C/C++呢因为C语言是我最喜欢的编程语言而且我们总要找个切入点来开始。另外要注意的是通常有很多种编写C代码的方法所以为了消减清单的篇幅我只选择了"真正好用的IDE"而不是诸如Gedit或Vim这种注入[插件][1]的文本编辑器。并不是说这些编辑器不好,只是如果我将文本编辑器包含进去那这份清单就将永无止境了。
### 1. Code::Blocks ###
![](https://farm8.staticflickr.com/7520/16089880989_10173db27b_c.jpg)
用我个人的最爱来开篇,[Code::Blocks][2]是一款简单快速的专有C/C++ IDE。就像任何一款强大的IDE一样, 它集成了语法高亮、书签功能、自动补全功能、项目管理和一个调试器。它最闪亮的地方在于它简单的插件系统里面添加了不可缺少的工具像Valgrind和CppCheck还有不太重要的比如像俄罗斯方块这样的小游戏。但是我特别喜欢它的理由是它连贯方便的快捷键设定和大量的却感受不到拥挤的选项设置。
### 2. Eclipse ###
![](https://farm8.staticflickr.com/7522/16276001255_66235a0a69_c.jpg)
我知道我只说"真正好用的IDE"而不是带着插件的文本编辑器,但是,[Eclipse][3]的确是一款"真正好用的IDE"只是Eclipse需要一些[插件][4]或经过一些改装来编写C程序所以严格来说我无法反驳我自己。而且做一份IDE清单不提到Eclipse这个“巨人”是不可能的事情。无论喜欢它与否Eclipse仍然是一款强大的Java编程工具。这里要感谢[CDT 项目][5]让Eclipse编写C程序变得可能。你同样可以体验到Eclipse的强大功能包括它的一些传统功能特点比如自动补全、代码大纲、代码生成器和先进的重构功能。照我话说它的不足之处在于它不如Code::Blocks那么轻量级它仍然很臃肿要花费很多时间去载入。但是如果你的电脑可以驾驭它或者你是个忠实的Eclipse粉那么它一定是你的不二选择。
### 3. Geany ###
![](https://farm9.staticflickr.com/8573/16088461968_c6a6c9e49a_c.jpg)
牺牲了很多特色功能但是增加了很多灵活性,[Geany][6]就是这样一款与Eclipse对立的软件。但是对于它所缺乏的地方比如说没有调试器, Geany用一些漂亮小巧的特色功能弥补了它们一个可以做笔记的区域、基于模板创作、代码大纲、自定义快捷键和插件管理。相比于现在的IDEGeany仍然是一款作用广泛的文本编辑器然而因为它的功能亮点和它的界面设计所以我把它放在这份列表里。
### 4. MonoDevelop ###
![](https://farm8.staticflickr.com/7515/16275175052_61487480ce_c.jpg)
这又是这份列表里的一个“巨人级”工具,[MonoDevelop][7]那无与伦比的体验来源于它的外表和界面。我个人非常喜爱它的项目管理体系和它的一体化版本控制系统。插件系统同样漂亮地让人震惊。但是由于一些原因所有的设置和对所有编程语言的支持对于我来说让我感觉有点“资源过剩”了。它仍然是我在过去经常使用的伟大工具但不是我在单单处理C语言时的第一选择。
### 5. Anjuta ###
![](https://farm8.staticflickr.com/7514/16088462018_7ee6e5b433_c.jpg)
它身上有着强烈的“GNOME即视感”[Anjuta][8]的外观很具争议。我倾向于把它看作是带着调试器的Geany升级版但是它的界面实际上要复杂得多。我确实很享受能在项目、文件夹和代码大纲视图之间来回切换的标签系统我本想用诸如更多的快捷方法来移动文件然而这是一个很好的提供了显著编译功能和构建选项的工具它能够支持哪些很有特点的需求。
### 6. Komodo Edit ###
![](https://farm8.staticflickr.com/7502/16088462028_81d1114c84_c.jpg)
我不是非常熟悉[Komodo Edit][9]但是在试用了一段时间之后我被它很多很多的优点给惊喜到了。首先基于标签的导航功能有很强的可预见性。其次它奇特的代码大纲让我想到了Sublime Text。此外它的宏系统和文件比较器使得Komodo Edit非常实用。它的插件库让它几乎是完美的说“几乎”是因为在其它IDE里我的确找不到能与之相媲美的快捷方法了。而且我们能享受到更多特别的C/C++工具这往往是普通IDE的不足之处。然而Komodo Edit就能做到。
### 7. NetBeans ###
![](https://farm8.staticflickr.com/7569/16089881229_98beb0fce3_c.jpg)
就好像Eclipse一样这又是一款不得不提的“巨人级”软件。拥有的功能包括通过标签进行导航、项目管理、代码大纲、更改历史追踪和大量工具[NetBeans][10]可能是最完整的IDE了我能用半页来列出它所有让人震惊的特色功能。但是这同时也很容易地向你透露了它的主要缺点它太臃肿了。比起它的强大我更喜欢基于插件的软件因为我觉得不太会有人为了一个同样的项目同时需要Git和Mercurial相结合来工作我是不是很疯狂但是如果你有耐心去掌握它所有的选项那你差不多无论到哪里都是IDE大师了。
### 8. KDevelop ###
![](https://farm8.staticflickr.com/7519/15653583824_e412f2ab1f_c.jpg)
说到这肯定照顾到所有的KDE粉丝[KDevelop][11]会是你希望的答案。它拥有许多配置选项如果你设法去征服KDevelop那它就是你的。你们说我肤浅但是我真的从来没有深入过除它界面以外的层次了对于我来说编辑器本身就携带着大量的导航选项和可定制的快捷键简直是一个再糟糕不过的事了。它的调试器也是相当高级要去练习掌握。然而这样的耐心是有回报的就是能领会到这款灵活的IDE的全部能力并且由于它令人吃惊的嵌入式文件编制你会给予它一种特殊的信任。
### 9. CodeLite ###
![](https://farm9.staticflickr.com/8594/16250066446_b5f654e63f_c.jpg)
留在最后的不代表是最差的,[CodeLite][12]展现给你一种传统的编程规则却仍然能让你从它身上那特有的感觉上有所收获即使它的界面一开始的确让我想到了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][a]
译者:[ZTinoZ](https://github.com/ZTinoZ)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/adrien
[1]:http://xmodulo.com/turn-vim-full-fledged-ide.html
[2]:http://www.codeblocks.org/
[3]:https://eclipse.org/
[4]:http://xmodulo.com/how-to-set-up-c-cpp-development-environment-in-eclipse.html
[5]:https://eclipse.org/cdt/
[6]:http://www.geany.org/
[7]:http://www.monodevelop.com/
[8]:http://anjuta.org/
[9]:http://komodoide.com/komodo-edit/
[10]:https://netbeans.org/
[11]:https://www.kdevelop.org/
[12]:http://codelite.org/