[大全]IDE

[% callout %] 选择综合症

如果想马上选择一个感觉不错的,可以看这里。 [% endcallout %]

本文介绍一些常用的 IDE(当然包括好用的 Visual Studio)。如果犯了选择综合症,请到维基百科去治疗

选择 IDE 和选择文本编辑器不同——你总得知道自己用什么编程语言,然后才能找到正确的 IDE 吧?

C/C++

C/C++ 是非常常见的语言。不过,因为很多时候用的是开发框架,并不是纯 C/C++ 语言,因此要根据实际情况选择合适的环境。

下面是专门针对特定框架的 IDE:

  • Microsoft Visual Studio ([w]):功能非常强大的 IDE,专门针对 Windows 编程——Win32 和 MFC 等框架。

    VS 有两类版本,一类是商业版本,需要付费使用,功能强大;另一类是社区版本,可免费使用。 * Visual C++ Express:Express 版是免费的精简版本,不支持跨语言集成,没有 MFC。 * Visual C++ 6.0:这是一个很过时的软件。除了老师要求和怀旧以外,已经没有人愿意用了。

  • Qt Creator ([w] [l] [m]):功能强大的 IDE,专门针对 Qt C++。

    Qt C++ 支持多种系统,如 Windows、Linux(包括嵌入式系统)、OS X、iOS、Android 等。

    Qt 有两种授权,一种可用于开发不开源的商业软件,但需付费使用;另一种可免费使用,基于 LGPL 协议,用于开发自由软件。此外商业版本功能更多。

  • C++ Builder ([w]):C++ Builder 是一个可视化集成开发工具,具有快速的可视化开发环境。C++ Builder 本身只能在 Windows 中运行,但是可为 OS X、iOS、Android 系统编译程序。
  • Anjuta ([l]):Anjuta 是一个在 Linux 中常用的集成开发环境,和界面设计器 Glade 配合,可方便地开发基于 GTK+ 的程序。

    Anjuta 是自由软件。在 Linux 中可通过软件包管理器直接安装。

  • Code::Blocks ([w] [l] [m]):初学者常用 IDE。尽管很多人只用于写纯 C/C++ 代码,但实际上 Code::Blocks 有一套针对 wxWidgets 框架的工具,例如界面设计器。

    Code::Blocks 是基于 GPL 的自由软件。在 Linux 中可通过软件包管理器直接安装,在其他系统中可免费下载。由于 Windows 没有 C 语言编译器,Code::Blocks 提供了集成 MinGW 的版本。

    wxWidgets SDK 需要额外下载安装。

  • Xcode ([m]):苹果官方的开发工具,专门用于开发 OS X/iOS 应用。绝大多数人都拿它写 Objective-C(现在又多了一个 Swift)。虽然也可以用来写 C 语言,不过貌似没有人愿意为了写一个只有几 KB 的程序而下载一个高达几 GB 的软件(毕竟一般电脑才 128GB,划给 Windows 之后就没地方了)。

下面是一些比较纯的 C/C++ 开发环境。注意,与上面列表有重复:

开发环境 授权 操作系统 单文件支持 调试器 集成工具链 代码自动完成 代码分析 测试 备注
Anjuta GPL [l] [x] [v] [v] [v] [v] [x]  
Code::Blocks GPL [w] [l] [m] [v] [v] [v] [v] [v] [v] 支持多种编译器
Dev-C++ GPL [w] [v] [v] [v] [v] [v] [x] 官方停止维护
Eclipse CDT EPL [w] [l] [m] [x] [v] [v] [v] [v] [v] Eclipse 插件
KDevelop GPL [l] [m] [x] [v] [v] [v] [v] [v]  
MonoDevelop LGPL [w] [l] [m] [x] [v] [v] [v] [x] [x]  

C

C# 是微软主导的语言,因此最好用的当然是微软的 Visual Studio。

Mono 项目是 .Net 开源替代品,并且已受微软支持,因此在 Linux 或 Mac 环境中开发与使用 C#(ASP.NET)也是有可能的。

  • MonoDevelop 是一个跨平台的 C# 开发环境,可用于开发 ASP.NET、Gtk# 等应用。
  • 微软自己也开发了一个跨平台的 Visual Studio Code。这是一个文本编辑器,但对 C# 有着更多的支持。

Java

Java 开发环境有很多,例如 Eclipse、MyEclipse(私有)、IntelliJ IDEA(开源/私有)等。

由于 Java 本身是跨平台的,并且很多 Java 开发环境都是用 Java 写成,因此它们基本上都跨平台。

Web 语言 (PHP/Python/Ruby/Node.js)

因为 PHP、Python、Ruby、Node.js 都和网站有关系,所以,一般情况下这四种语言的 IDE 同样适合网页前端语言。

这些是常见的开发环境:

软件 授权 操作系统 支持的后端语言 支持 CSS/JS 变体? 备注
Adobe Dreamweaver 私有 [w] [m] ASP/ASP.NET/JSP/PHP [x] 后端语言只有编辑功能
Adobe Brackets MIT [w] [l] [m] [x] LESS/Sass 快速编辑功能
PyCharm 私有/Apache [w] [l] [m] Python LESS/Sass/CoffeeScript  
PyDev (Eclipse) EPL [w] [l] [m] Python [x] Eclipse 插件
Aptana Studio GPL/私有 [w] [l] [m] PHP/Ruby/Python [x] 有独立版本和 Eclipse 插件版
Eclipse PDT EPL [w] [l] [m] PHP [x]  
PHPStorm 私有 [w] [l] [m] PHP LESS/Sass/CoffeeScript  
Zend Studio 私有 [w] [l] [m] PHP [x]  
Eclipse DLTK Ruby Plugin EPL [w] [l] [m] Ruby [x]  
RubyMine 私有 [w] [l] [m] Ruby LESS/Sass/CoffeeScript  
WebStorm 私有 [w] [l] [m] Node.js LESS/Sass/CoffeeScript  
  • 这里有一个更详细的网页设计器列表。
  • PyCharm、PHPStorm、RubyMine、WebStorm 基于 IntelliJ IDEA。
  • Aptana Studio、Zend Studio 基于 Eclipse。

其他

  • IDLE 是 Python 的官方 IDE。
  • Python Tools for Visual Studio 是 VS 的一个插件。

LaTeX

LaTeX(含 XeLaTeX)的编辑器有很多种。下面是比较好用的、集成了编译调试功能的 LaTeX 编辑器:

  • WinEdt ([w]):WinEdt 是 CTEX 套装自带的编辑器,属于共享软件。由于 WinEdt 收费而且对 UTF-8 支持不好,因此不建议使用。
  • TexMaker ([w] [l] [m]) 和 TexStudio ([w] [l] [m]):这两个是功能比较全面的 LaTeX 编辑器。TexStudio 是 TexMaker 分支出来的项目。
  • TeXlipse ([w] [l] [m]):TeXlipse 是 Eclipse 的一个插件,功能比较全面。

以下编辑器在安装插件后可以有较好的 LaTeX 支持:

  • Vim (vim-latexsuite)
  • GEdit
  • Sublime Text (LaTeXing)
  • Eclipse (TeXlipse)

此外还有一个编辑器 LyX。LyX 不是源码编辑器,而是类似于 Word 的“可见即可得”的编辑器。

Pascal

  • 不带界面设计器的开发环境有 Free Pascal IDE ([w] [l] [m])。
  • 带界面设计器的开发环境有 Delphi ([w] [m]) 以及仿照 Delphi 的开源的 Lazarus ([w] [l] [m]) 等。

Basic

事实上没有人愿意用 Basic 语言编程。如果只管 Windows 系统的话,倒是有一些用 Visual Basic 编程的。

  • 只管 Windows 的话,Visual Studio 当然是最好用的 IDE。
  • Gambas ([l])、Xojo ([w] [l] [m]) 都采用了类似 Basic 的语言。不过没有人愿意用。

其他

听说过“易语言” ([w]) 吗?