17 个 Linux 下用于 C/C++ 的最好的 IDE /编辑器

Aaron Kili 的头像

·

·

·

100,544 次阅读

C++,一个众所周知的 C 语言的扩展,是一个优秀的、强大的、通用编程语言,它能够提供现代化的、通用的编程功能,可以用于开发包括视频游戏、搜索引擎、其他计算机软件乃至操作系统等在内的各种大型应用。

C++,提供高度可靠性的同时还能够允许操作底层内存来满足更高级的编程要求。

虽然已经有了一些供程序员用来写 C/C++ 代码的文本编辑器,但 IDE 可以为轻松、完美的编程提供综合的环境和组件。

在这篇文章里,我们会向你展示一些可以在 Linux 平台上找到的用于 C++ 或者其他编程语言编程的最好的 IDE。 

1. 用于 C/C++ 开发的 Netbeans

Netbeans 是一个自由而开源的、流行的跨平台 IDE ,可用于 C/C++ 以及其他编程语言,可以使用由社区开发的插件展现了其完全的扩展性。

它包含了用于 C/C++ 开发的项目类型和模版,并且你可以使用静态和动态函数库来构建应用程序。此外,你可以利用现有的代码去创造你的工程,并且也可以通过拖放的方式导入二进制文件来从头构建应用。

让我们来看看关于它的特性:

  • C/C++ 编辑器很好的整合了多线程的 GNU GDB 调试工具
  • 支持代码协助
  • 支持 C++11 标准
  • 在里面创建和运行 C/C++ 测试程序
  • 支持 QT 工具包
  • 支持将已编译的应用程序自动打包到 .tar,.zip 等归档文件
  • 支持多个编译器,例如: GNU、Clang/LLVM、Cygwin、Oracle Solaris Studio 和 MinGW
  • 支持远程开发
  • 文件导航
  • 源代码检查

主页:https://netbeans.org/features/cpp/index.html

2. Code::Blocks

Code::Blocks 是一个免费的、具有高度扩展性的、并且可以配置的跨平台 C++ IDE,它为用户提供了必备而典范的功能。它具有一致的界面和体验。

最重要的是,你可以通过用户开发的插件扩展它的功能,一些插件是随同 Code::Blocks 发布的,而另外一些则不是,它们由 Code::Block 开发团队之外的个人用户所编写的。

其功能分为编译器、调试器、界面功能,它们包括:

  • 支持多种编译器如 GCC、clang、Borland C++ 5.5、digital mars 等等
  • 非常快,不需要 makefile
  • 支持多个目标平台的项目
  • 支持将项目组合起来的工作空间
  • GNU GDB 接口
  • 支持完整的断点功能,包括代码断点,数据断点,断点条件等等
  • 显示本地函数的符号和参数
  • 用户内存导出和语法高亮显示
  • 可自定义、可扩展的界面以及许多其他的的功能,包括那些用户开发的插件添加功能

主页: http://www.codeblocks.org

3. Eclipse CDT (C/C++ Development Tooling)

Eclipse 在编程界是一款著名的、开源的、跨平台的 IDE。它给用户提供了一个很棒的界面,并支持拖拽功能以方便界面元素的布置。

Eclipse CDT 是一个基于 Eclipse 主平台的项目,它提供了一个完整功能的 C/C++ IDE,并具有以下功能:

  • 支持项目创建
  • 管理各种工具链的构建
  • 标准的 make 构建
  • 源代码导航
  • 一些知识工具,如调用图、类型分级结构,内置浏览器,宏定义浏览器
  • 支持语法高亮的代码编辑器
  • 支持代码折叠和超链接导航
  • 代码重构与代码生成
  • 可视化调试存储器、寄存器的工具
  • 反汇编查看器以及更多功能

主页: http://www.eclipse.org/cdt/

4. CodeLite IDE

CodeLite 也是一款为 C/C++、JavaScript(Node.js)和 PHP 编程专门设计打造的自由而开源的、跨平台的 IDE。

它的一些主要特点包括:

  • 代码补完,提供了两个代码补完引擎
  • 支持多种编译器,包括 GCC、clang/VC++
  • 以代码词汇的方式显示错误
  • 构建选项卡中的错误消息可点击
  • 支持下一代 LLDB 调试器
  • 支持 GDB
  • 支持重构
  • 代码导航
  • 使用内置的 SFTP 进行远程开发
  • 源代码控制插件
  • 开发基于 wxWidgets 应用的 RAD(快速应用程序开发)工具,以及更多的特性

主页: http://codelite.org/

5. Bluefish 编辑器

Bluefish 不仅仅是一个一般的编辑器,它是一个轻量级的、快捷的编辑器,为程序员提供了如开发网站、编写脚本和软件代码的 IDE 特性。它支持多平台,可以在 Linux、Mac OSX、FreeBSD、OpenBSD、Solaris 和 Windows 上运行,同时支持包括 C/C++ 在内的众多编程语言。

下面列出的是它众多功能的一部分:

  • 多文档界面
  • 支持递归打开文件,基于文件名通配模式或者内容模式
  • 提供一个非常强大的搜索和替换功能
  • 代码片段边栏
  • 支持整合个人的外部过滤器,可使用命令如 awk,sed,sort 以及自定义构建脚本组成(过滤器的)管道文件
  • 支持全屏编辑
  • 网站上传和下载
  • 支持多种编码等许多其他功能

主页: http://bluefish.openoffice.nl

6. Brackets 代码编辑器

Brackets 是一个现代化风格的、开源的文本编辑器,专为 Web 设计与开发打造。它可以通过插件进行高度扩展,因此 C/C++ 程序员通过安装 C/C++/Objective-C 包来使用它来开发,这个包用来在辅助 C/C++ 代码编写的同时提供了 IDE 之类的特性。

主页: http://brackets.io/

7. Atom 代码编辑器

Atom 也是一个现代化风格、开源的多平台文本编辑器,它能运行在 Linux、Windows 或是 Mac OS X 平台。它的定制可深入底层,用户可以自定义它,以便满足各种编写代码的需求。

它功能完整,主要的功能包括:

  • 内置了包管理器
  • 智能的自动补完
  • 内置文件浏览器
  • 查找、替换以及其他更多的功能

主页: https://atom.io/

安装指南: http://www.tecmint.com/atom-text-and-source-code-editor-for-linux/

8. Sublime Text 编辑器

Sublime Text 是一个完善的、跨平台的文本编辑器,可用于代码、标记语言和一般文字。它可以用来编写 C/C++ 代码,并且提供了非常棒的用户界面。

它的功能列表包括:

  • 多重选择
  • 按模式搜索命令
  • 抵达任何一处的功能
  • 免打扰模式
  • 窗口分割
  • 支持项目之间快速的切换
  • 高度可定制
  • 支持基于 Python 的 API 插件以及其他特性

主页: https://www.sublimetext.com

安装指南: http://www.tecmint.com/install-sublime-text-editor-in-linux/

9. JetBrains CLion

JetBrains CLion 是一个收费的、强大的跨平台 C/C++ IDE。它是一个完全整合的 C/C++ 程序开发环境,并提供 Cmake 项目模型、一个嵌入式终端窗口和一个主要以键盘操作的编码环境。

它还提供了一个智能而现代化的编辑器,具有许多令人激动的功能,提供了理想的编码环境,这些功能包括:

  • 除了 C/C++ 还支持其他多种语言
  • 在符号声明和上下文中轻松导航
  • 代码生成和重构
  • 可定制的编辑器
  • 即时代码分析
  • 集成的代码调试器
  • 支持 Git、Subversion、Mercurial、CVS、Perforcevia(通过插件)和 TFS
  • 无缝集成了 Google 测试框架
  • 通过 Vim 仿真插件支持 Vim 编辑体验

主页: https://www.jetbrains.com/clion/

10. 微软的 Visual Studio Code 编辑器

Visual Studio 是一个功能丰富的、完全整合的、跨平台开发环境,运行在 Linux、Windows 和 Mac OS X 上。 最近它向 Linux 用户开源了,它重新定义了代码编辑这件事,为用户提供了在 Windows、Android、iOS 和 Web 等多个平台开发不同应用所需的一切工具。

它功能完备,功能分类为应用程序开发、应用生命周期管理、扩展和集成特性。你可以从 Visual Studio 官网阅读全面的功能列表。

主页: https://www.visualstudio.com

11. KDevelop

KDevelop 是另一个自由而开源的跨平台 IDE,能够运行在 Linux、Solaris、FreeBSD、Windows、Mac OS X 和其他类 Unix 操作系统上。它基于 KDevPlatform、KDE 和 Qt 库。KDevelop 可以通过插件高度扩展,功能丰富且具有以下显著特色:

  • 支持基于 Clang 的 C/C++ 插件
  • 支持 KDE 4 配置迁移
  • 支持调用二进制编辑器 Oketa
  • 支持众多视图插件下的差异行编辑
  • 支持 Grep 视图,使用窗口小部件节省垂直空间等

主页: https://www.kdevelop.org

12. Geany IDE

Geany 是一个免费的、快速的、轻量级跨平台 IDE,只需要很少的依赖包就可以工作,独立于流行的 Linux 桌面环境下,比如 GNOME 和 KDE。它需要 GTK2 库实现功能。

它的特性包括以下列出的内容:

  • 支持语法高亮显示
  • 代码折叠
  • 调用提示
  • 符号名自动补完
  • 符号列表
  • 代码导航
  • 一个简单的项目管理工具
  • 可以编译并运行用户代码的内置系统
  • 可以通过插件扩展

主页: http://www.geany.org/

13. Ajunta DeveStudio

Ajunta DevStudio 是一个简单,强大的 GNOME 界面的软件开发工作室,支持包括 C/C++ 在内的几种编程语言。

它提供了先进的编程工具,比如项目管理、GUI 设计、交互式调试器、应用程序向导、源代码编辑器、版本控制等。此外,除了以上特点,Ajunta DeveStudio 也有其他很多不错的 IDE 功能,包括:

  • 简单的用户界面
  • 可通过插件扩展
  • 整合了 Glade 用于所见即所得的 UI 开发
  • 项目向导和模板
  • 整合了 GDB 调试器
  • 内置文件管理器
  • 使用 DevHelp 提供上下文敏感的编程辅助
  • 源代码编辑器支持语法高亮显示、智能缩进、自动缩进、代码折叠/隐藏、文本缩放等

主页: http://anjuta.org/

14. GNAT Programming Studio

GNAT Programming Studio 是一个免费的、易于使用的 IDE,设计的目的用于统一开发人员与他/她的代码和软件之间的交互。

它通过高亮程序的重要部分和逻辑从而提升源代码导航体验,打造了一个理想的编程环境。它的设计目标是为你带来更舒适的编程体验,使用户能够从头开始开发全面的系统。

它丰富的特性包括以下这些:

  • 直观的用户界面
  • 对开发者的友好性
  • 支持多种编程语言,跨平台
  • 灵活的 MDI(多文档界面)
  • 高度可定制
  • 使用喜欢的工具获得全面的可扩展性

主页: http://libre.adacore.com/tools/gps/

15. Qt Creator

这是一款收费的、跨平台的 IDE,用于创建连接设备、用户界面和应用程序。Qt Creator 可以让用户比应用的编码做到更多的创新。

它可以用来创建移动和桌面应用程序,也可以连接到嵌入式设备。

它的优点包含以下几点:

  • 复杂的代码编辑器
  • 支持版本控制
  • 项目和构建管理工具
  • 支持多屏幕和多平台,易于构建目标之间的切换等等

主页: https://www.qt.io/ide/

16. Emacs 编辑器

Emacs 是一个自由的、强大的、可高度扩展的、可定制的、跨平台文本编辑器,你可以在 Linux、Solaris、FreeBSD、NetBSD、OpenBSD、Windows 和 Mac OS X 这些系统中使用该编辑器。

Emacs 的核心也是一个 Emacs Lisp 的解释器,Emacs Lisp 是一种基于 Lisp 的编程语言。在撰写本文时,GNU Emacs 的最新版本是 24.5,Emacs 的基本功能包括:

  • 内容识别编辑模式
  • Unicode 的完全支持
  • 可使用 GUI 或 Emacs Lisp 代码高度定制
  • 下载和安装扩展的打包系统
  • 超出了正常文本编辑的功能生态系统,包括项目策划、邮件、日历和新闻阅读器等
  • 完整的内置文档,以及用户指南等等

主页: https://www.gnu.org/software/emacs/

17. VI/VIM 编辑器

Vim,一款 VI 编辑器的改进版本,是一款自由的、强大的、流行的并且高度可配置的文本编辑器。它为有效率地文本编辑而生,并且为 Unix/Linux 使用者提供了激动人心的编辑器特性,因此,它对于撰写和编辑 C/C++ 代码也是一个好的选择。

总的来说,与传统的文本编辑器相比,IDE 为编程提供了更多的便利,因此使用它们是一个很好的选择。它们带有激动人心的特征并且提供了一个综合性的开发环境,有时候程序员不得不陷入对最好的 C/C++ IDE 的选择。

在互联网上你还可以找到许多 IDE 来下载,但不妨试试我们推荐的这几款,可以帮助你尽快找到哪一款是你需要的。


via: http://www.tecmint.com/best-linux-ide-editors-source-code-editors/

作者:Aaron Kili 译者:ZenMooreLiBradWangYueScreamLemonDemo 校对:wxy

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

17 条回复

  1. 绿色圣光 [Firefox 45.0|GNU/Linux] 的头像
    绿色圣光 [Firefox 45.0|GNU/Linux]

    总少不了 Emacs 和 Vim

    来自青岛
  2. hello_linux [Chrome 46.0|Windows 7] 的头像
    hello_linux [Chrome 46.0|Windows 7]

    收藏一下!!!
    就是那么懂你!

    来自深圳
  3. fxbszj [Firefox 48.0|Windows 10] 的头像
    fxbszj [Firefox 48.0|Windows 10]

    emacs配evil,我最常用。
    但是如果是ide,我还是选Qt Creator

    来自杭州
  4. WangYueScream [Chrome 48.0|Windows 7] 的头像
    WangYueScream [Chrome 48.0|Windows 7]

    没有 5

    来自平顶山
  5. linux [Chrome 52.0|Mac 10.11] 的头像
    linux [Chrome 52.0|Mac 10.11]

    哈哈哈,原文脑抽了。。

    来自北京
  6. linux [Chrome 52.0|Mac 10.11] 的头像
    linux [Chrome 52.0|Mac 10.11]

    压箱底的~

    来自北京
  7. koolar [Chrome 52.0|Windows 10] 的头像
    koolar [Chrome 52.0|Windows 10]

    C/C++语言有点过时,新人还是专项golang、C#、Python、Swift等现代语言较好。

    来自延安
  8. 来自广东深圳的 Chrome 51.0|GNU/Linux 用户 的头像
    来自广东深圳的 Chrome 51.0|GNU/Linux 用户

    瞎扯, 嵌入式/PC等只要往底层走,哪个离得开C/C++.你所谓的那些语言大部分都是运行在C写的东西基础上的.

    来自深圳
  9. fxbszj [Firefox 48.0|Windows 10] 的头像
    fxbszj [Firefox 48.0|Windows 10]

    我只能说,现在考虑开发效率的情况下,很多企业有些地方不选择C/C++开发,特别是现在的互联网行业。但是唱衰C/C++还是为时尚早

    来自杭州
  10. 来自贵州毕节的 Chrome 53.0|GNU/Linux 用户 的头像
    来自贵州毕节的 Chrome 53.0|GNU/Linux 用户

    17个?

    来自黔西南布依族苗族自治州
  11. 来自广东广州的 Firefox 48.0|Ubuntu 用户 的头像
    来自广东广州的 Firefox 48.0|Ubuntu 用户

    这么多年用下来 还是eclipse+CDT最好用

    来自深圳
  12. 来自北京的 Firefox 47.0|Windows 10 用户 的头像
    来自北京的 Firefox 47.0|Windows 10 用户

    两页

    来自北京
  13. 来自江苏徐州的 Chrome 52.0|GNU/Linux 用户 的头像
    来自江苏徐州的 Chrome 52.0|GNU/Linux 用户

    clion

    来自徐州
  14. 来自广东深圳的 Chromium 51.0|Ubuntu 用户 的头像
    来自广东深圳的 Chromium 51.0|Ubuntu 用户

    收藏一下!

    来自深圳
  15. 来自北京的 Chrome 50.0|Windows 7 用户 的头像
    来自北京的 Chrome 50.0|Windows 7 用户

    qtcreator 不是收费的,不要瞎说

    来自北京
  16. linccn [Firefox 49.0|Windows 7] 的头像
    linccn [Firefox 49.0|Windows 7]

    真正好用的只有两个qtcreator和code:blocks,其他都很难用。

    来自北京
  17. 来自江西的 Firefox 118.0|GNU/Linux 用户 的头像
    来自江西的 Firefox 118.0|GNU/Linux 用户

    你说的这些都只是某一方面,在实际开发时c/c++用的还是比较多的

    来自赣州

发表回复

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