有没有类似于Visual Studio风格的工具/集成开发环境(IDE)?

我在工作中使用Visual Studio已经开发Windows平台一段时间了,同时我也用Ubuntu一段时间了,很想开始进行一些Linux软件开发。

另外,需要说明的是,我不是在寻找.NET,我知道有mono。我还熟悉C++开发和一些Python,所以编程语言并不那么重要,更重要的是“一体化”的特性。

我想知道是否有类似于Visual Studio这样的强大的一体化代码/调试/设计(GUI)的IDE适用于Linux?


我还应该注意一点。我不需要.NET,而且我知道有mono可用。我对C++开发和一些Python也很熟悉,所以语言并不是那么重要,关键是“一体化”的方面。 - Tim
2你应该将这些信息编辑到你的原始问题中。 - user2405
虽然集成开发环境(IDE)在提高软件开发效率方面非常出色,但我建议您至少对nix世界中更“传统”的基于命令行的软件开发工具(如gcc/g++makeautoconf等)有一定了解,因为很多nix软件项目都依赖于它们,而那些高级的IDE只是为它们提供了更方便的接口。 - David Foerster
我也认为这个问题应该作为社区维基的一部分。 - David Foerster
我知道这并不能完全回答你的问题,但这里也有一个答案:http://programmers.stackexchange.com/questions/125796/comparison-of-ides-for-c-and-c-development-on-linux-kdevelop-eclipse-netbea - und3rd06012
由于某种原因,这个堆栈网站不让我回答问题。你可以看看Lazarus。它是一个相当完整的Delphi类系统(大部分源代码兼容,只有一些小问题)。它已经存在很长时间了,所以经过了实战考验,许多Delphi开发者现在认为它比原版更好。它基于Pascal语言,提供了与C++类似的优势,同时又是一门更容易学习的语言(在Java取代它之前,它曾经是教学语言之一)。它拥有相同的拖放式用户界面构建工具和一个庞大的组件库。 - Shayne
18个回答

在你的评论中,你说你更担心 "一体化" 方面,然而如果你想要最好的体验,我认为选择正确的工具很重要。

C++/Qt:
Qt Creator:一个针对 Qt 开发者需求量身定制的跨平台集成开发环境(IDE)。 (如果你计划使用 C++ 进行编程,我推荐这个选项。)

enter image description here


Java: Eclipse: 这基本上是事实上的Java集成开发环境。

enter image description here


C#/.NET: Mono: MonoDevelop是一个主要为C#和其他.NET语言设计的集成开发环境。

enter image description here


我的个人“IDE”是Gedit。它很简洁(类似于Windows上的Notepad++),但它能完成工作。它还支持插件,基本上可以使它成为一个真正的IDE。它支持大多数语言,包括C/C++、Java、C#、Python、Ruby、PHP、HTML等。

enter image description here


如果你使用KDE作为你的桌面环境,而且不想运行Gedit,你也可以尝试一下Kate

enter image description here


谢谢,卢卡斯。我曾经使用过Gedit来写一些简单的C++代码,并且很喜欢它的轻便性和相对强大的功能。我也能理解选择“合适的工具”而非追求“一切都具备”的重要性。我习惯于在调试时添加断点等操作,因此我也希望找到一个熟悉的环境来帮助我入门。 - Tim
它支持大多数语言,包括C/C++,Java,C#,Python,Ruby,PHP,HTML等。不错 :) - johnc
只是为了强调一下,Gedit在这里真的是一个强大的竞争者,尤其适用于文件/软件包数量有限的程序。就语法高亮而言,《遗忘》方案是任何平台上构思出来的最好的。 - Luís de Sousa

我个人对此没有太多经验(我个人喜欢在gedit中工作),但为了完整起见,我们确实应该提到Anjuta Install anjuta。它是GNOME项目的一部分,并包含您感兴趣的许多功能。
  • 专注于C/C++,但可通过插件进行扩展。对Python和Vala提供一些支持。

  • 集成的Glade用户界面设计工具。

  • 至少与Git、CVS和Subversion集成的版本控制。

  • 项目管理和autotools支持。

  • 包括断点等功能的集成调试器...由gdb支持。

  • GTK+/GNOME Devhelp API帮助浏览器集成。

  • Valgrind插件用于检测程序的内存泄漏。

anjuta

glade


3这些面板可以解锁吗?因为那样真的很乱,而且代码窗口也很小。正如我在另一个回答中评论的那样,我喜欢有足够的空间来编写代码,甚至能同时看到两个文件。 - Skizz

我简直不敢相信大家都在说“用KDevelop”来写C++。
根据我的经验,没有比Qt Creator更好的工具了。
它具有以下特点:
- 速度快 - 有非常灵活的项目管理器 - 可以用于任何C++项目,甚至非Qt项目 - 拥有我认为是最好的代码补全引擎 - 与Qt框架非常深度地集成(我强烈推荐使用)


1我尝试过这个和kdevelop,如果我没记错的话,你不能将面板分离。不能分离是一个大问题,因为我喜欢将我的一个显示器专门用于代码,而所有其他面板都在我的第二个显示器上。我不想说,但DevStudio做得很好。在Ubuntu/Linux上,我找到最接近的是Eclipse。 - Skizz
@Skizz: 我明白。 - Nathan Osman



Microsoft的Visual Studio Code是一个集成开发环境(IDE),支持Mac、Linux和Windows。

在Linux上自动安装步骤:https://gist.github.com/brunolm/65a760f6130fd2e1d39c - BrunoLM

Mono 是一个成熟且成功的开源实现的 .Net 框架和许多 .Net 语言(例如 C#)。如果你了解 Visual Basic 或者 C#,那么你可以在 Ubuntu 上编写代码(甚至在 Windows 和 Mac OSX 上也可以)使用 MonoDevelop Install monodevelop << (点击此图标安装 MonoDevelop)。它是一个很好且功能丰富的集成开发环境,并且创建的应用程序在 Ubuntu 上看起来和感觉都像本地应用程序(这要归功于使用 GTK)。


那么这意味着MonoDevelop和Visual Studio相似吗?因为我已经用VS用了两年,最近换到了Ubuntu,所以如果MonoDevelop有类似的图标和其他东西就好了!是这样吗? - Ant's
随着Novell的出售,我担心Mono项目的未来。它应该继续维护还是放弃呢? - user
@Anto:很遗憾,相似之处很少。但我相信你一定能够轻松地适应MonoDevelop的使用方式 :) - Bilal Akhtar
@crucified soul Mono项目一直非常活跃,并且已经多次宣布,也在出售后发布了重大版本。包括最近一周的Mono for Android。 - trampster
@Akhtar:哦,那可能就是问题所在! - Ant's

你也可以考虑使用Lazarus,它基本上模仿了Delphi类型的应用程序开发。

我没有用过它,但我听说过Code::Blocks,它也相当不错。从我刚刚阅读的论坛来看,Code::Blocks可能有点不稳定。你可以看一下这个在cplusplus.com上的帖子。只要谷歌搜索"kdevelop vs codeblocks"就会得到很多比较这两者以及其他一些软件如Anjuta、Eclipse和NetBeans的结果。

我使用 codelite,这是一个针对C/C++的快速发展的集成开发环境。到目前为止,它是我最喜欢的,因为eclipse过于受限,code::lite则过于臃肿(在我看来)。
编辑:我只想补充一点,它显然受到了Visual Studio的启发,所以使用VS工具的用户应该会感到亲切。