我想把我的编程视野扩展到Linux。一个好的、可靠的基本工具集很重要,还有什么比IDE更基本呢?

我可以找到这些SO主题:

轻量级IDE linux和 你使用什么工具来开发 Linux上的c++应用程序?

我并不是在寻找轻量级IDE。如果一个IDE值那么多钱,我就会为它付费,所以它不一定是免费的。

我的问题是:

Linux有什么好的c++编程IDE ?

最小值是相当标准的:语法高亮显示、代码完成(如智能感知或其Eclipse对应版本)和集成调试(例如basic 断点)。

我自己也搜索过,但是有太多了,几乎不可能手工区分好的和坏的,特别是对于像我这样在Linux中几乎没有c++编程经验的人来说。我知道Eclipse支持c++,而且我真的很喜欢Java的IDE,但是它对c++有什么好处吗?还有更好的吗?

第二篇文章实际上有一些很好的建议,但我遗漏的是,究竟是什么让建议的IDE对用户这么好,它的(缺点)优势是什么?

也许我的问题应该是:

根据您的经验,您建议使用哪种IDE,为什么?


当前回答

在Visual Studio环境下长大,我发现相对年轻的Code::Blocks非常熟悉。

其他回答

作为一个老UNIX用户,我总是使用Emacs。但这有一个相当陡峭和漫长的学习曲线,所以我不确定我是否可以向新手推荐它。

对于Linux来说,真的没有一个“好的”IDE。Eclipse对于C/ c++不是很好(CDT正在改进,但还不是很有用)。其他的则缺少您要寻找的所有功能。

了解所有单独的工具(gcc、make、gdb等)是如何工作的真的很重要。这样做之后,您可能会发现Visual Studio做事的方式非常有限。

我使用Eclipse CDT和Qt Creator(用于Qt应用程序)。

这是我的偏好。这是一个很有启发性的问题,有多少开发者就有多少答案。:)

Sun Studio版本12是免费下载的(免费和付费支持可用)- http://developers.sun.com/sunstudio/downloads/thankyou.jsp?submit=%A0FREE+Download%A0%BB%A0。

我确信您在这个IDE中有代码完成和调试支持,包括插件支持。

Sun Studio可用于Linux和Solaris。 论坛:http://developers.sun.com/sunstudio/community/forums/index.jsp。 Sun Studio Linux论坛:http://forum.sun.com/forum.jspa?forumID=855

我渴望听到您对这个工具的反馈。

BR, ~一个

你能再解释一下你的情况吗,你需要改变什么。也许你可以通过提供一些你使用的信息的链接给我指明正确的方向。

我的第一个来源实际上是工具的手册页。只要输入

$ man toolname

在命令行上($ here是提示符的一部分,而不是输入)。

Depending on the platform, they're quite well-written and can also be found on the internet. In the case of make, I actually read the complete documentation which took a few hours. Actually, I don't think this is necessary or helpful in most cases but I had a few special requirements in my first assignments under Linux that required a sophisticated makefile. After writing the makefile I gave it to an experienced colleague who did some minor tweaks and corrections. After that, I pretty much knew make.

我使用GVIM是因为我在这方面有一些(但不是很多)经验,关于Emacs或替代方案我不能说什么。我发现阅读别人的.gvimrc配置文件真的很有帮助。很多人把它放在网上。这是我的。

不要试图一次掌握所有的双utils,有太多的函数。但是要有一个大概的了解,这样你就知道将来需要什么东西的时候去哪里找了。但是,您应该知道g++和ld (GCC链接器工具,自动调用,除非显式阻止)的所有重要参数。

另外,我很好奇,编码时有代码完成和语法高亮吗?

语法高亮:是的,而且比Visual Studio好得多。代码完成:差不多。首先,我必须承认,我甚至在Visual Studio中都没有使用c++代码补全,因为(与VB和c#相比)它不够好。我现在不经常使用它,但是尽管如此,GVIM对c++有本地代码补全支持。结合ctags库和像taglist这样的插件,这几乎就是一个IDE。

实际上,是阿明·罗纳切的一篇文章激发了我的灵感。在阅读文章之前,看看文章末尾的截图!

在得到(语法)错误之前必须先编译吗?

是的。但这对于Visual Studio来说是一样的,不是吗(我从来没有用过Whole Tomato)?当然,语法高亮显示不匹配的括号,但仅此而已。

如何调试(再次考虑断点等)?

我使用gdb,这是一个命令行工具。还有一个叫做DDD的图形前端。gdb是一种现代的调试工具,可以做您在IDE中可以做的所有事情。唯一真正让我恼火的是读取堆栈跟踪,因为行没有缩进或格式化,所以当你使用很多模板时(我就是这样做的),很难扫描信息。但这些也会使ide中的堆栈跟踪变得混乱。

就像我说的,我很“荣幸”在高中时使用windows记事本和命令行Java编译器迈出了我在Java编程语言中的第一步,它是…嗯,噩梦!当然,当我把它和我当时学的其他编程课程进行比较时,我们有不错的IDE

您甚至不应该尝试将现代的全功能编辑器(如Emacs或GVIM)与Notepad进行比较。记事本是一个修饰的文本框控件,这真的使所有的不同。此外,在Linux和Windows中使用命令行是一种非常不同的体验。Windows cmd.exe严重损坏。PowerShell要好得多。

/EDIT: I should mention explicitly that GVIM has tabbed editing (as in tabbed browsing, not tabs-vs-spaces)! It took me ages to find them although they're not hidden at all. Just type :tabe instead of plain :e when opening a file or creating a new one, and GVIM will create a new tab. Switching between tabs can be done using the cursor or several different shortcuts (depending on the platform). The key gt (type g, then t in command mode) should work everywhere, and jumps to the next tab, or tab no. n if a number was given. Type :help gt to get more help.

我是用“Geany”发现好的,到目前为止,它的快速和轻重量IDE。

Geany的特点包括:

代码折叠 会话保存 基本IDE特性,如语法高亮显示、制表符、自动缩进和代码完成 简单的项目管理 构建系统 颜色选择器(在web开发中非常方便) 嵌入式终端仿真 电话技巧 符号列表 自动完成公共结构(如if、else、while等)