哪个Linux程序是C++程序员最好的选择?

4
我一直想放弃Windows,完全转向Linux,但唯一阻止我的是程序。问题在于我习惯了Visual Studio 2008中的智能感知。我已经寻找了许多替代程序来显示函数,但似乎没有符合我要求的。我发现了诸如notepad++之类的程序,它非常棒,但我不喜欢它只使用文本的颜色代码。我知道你可以按CTRL-SPACE来获取自动完成功能,但它与Visual Studio中的不同。如果有人知道一个Linux程序可以满足我所需,请告诉我它的名字。我真的想把Windows放下,进入Linux世界。这已经吸引了我相当长的一段时间。另外,我想知道你用来在Linux上编程的程序以及为什么喜欢它。谢谢你的时间。

4
很难超越 Visual Studio 的智能感知功能。Xcode / Eclipse / Netbeans / 等等接近,但并不相同。 - Seth
我会等到明年再考虑。我听说2011年是Linux桌面的元年。 - jbrennan
9个回答

5

我建议使用vi。Intellisense等是一个辅助工具,花一些时间不使用它进行编码,你会惊讶于当你真正需要思考自己在做什么时,你的代码质量会有多大提高,而不仅仅是挑选软件包。如果你真的不能没有这些工具,NetBeans或Eclipse都很好。因为它们与VS不同(让我们面对现实,VS确实是非常好的开发环境),所以没有什么能看起来“像 VS 一样好”的东西,但切换并不难。而且,你将获得所有Linux的好处,以抵消你可能感到失去的任何东西:一个真正的Shell,一个实际上有效的搜索命令,而不是通过五个对话框“向导”来设置数据库连接的工具...


很多人说过这样的话,或许在某种程度上你是对的。这就是我在C#中摸爬滚打的方式。我不需要知道任何东西,只要IDE为我纠正一切错误,我就可以编写代码了。但这有什么可怕的呢?它可以帮助你在你还是新手的时候学习,而不必每4秒钟就去谷歌;你告诉我这更有效吗?我并不认为这是一个拐杖。一个好的程序员无论如何都会遵循良好的设计原则。并不是说VI不好。只是我没有耐心去学它。 - mpen
@Mark:靠抄袭是无法写好代码的。使用没有集成开发环境(IDE)的系统可以迫使你学习。 - Paul Nathan
开始吧!当你刚接触一门新语言时,你会感到困难,但是我想说,在IDE中内置一些辅助工具会使学习更容易。 - mpen

4

NetBeans非常类似于Visual Studio,拥有IntelliSense等功能。我一直在使用它。

编辑:随时会有人进来说 "Eclipse!!"。你也可以调查一下,但我是NetBeans的支持者。


4

如果您不介意使用qmake进行编译,那么我使用qt-creator,效果非常好。 显然,它是为与Qt一起使用而设计的,但也可以在没有Qt的情况下使用(但不能没有qmake!)


只是提醒一下,NetBeans也支持Qt :) 我猜它没有设计师的功能,但我认为它有一个插件,所以你可以轻松切换。我不知道,我看了一眼qt-creator,它让我感到很陌生,但我想这只是需要适应的东西。 - mpen

3
如果你愿意花一点钱,可以考虑使用slickedit http://www.slickedit.com/。我在Linux上使用9版本开发了一个混合的C/C++应用程序,它的自动完成功能非常好,与Visual Studio非常相似。无论如何,它值得一试,有免费试用版。

我认为SlickEdit比Visual Studio更好。 - simon
令人惊讶的是,在DevStudio 5.0出现之前,我一直在使用SlickEdit而不是Visual Studio。 - D.Shawley

3
(Obliging Mark) Eclipse。它与Visual Studio相当相似,具有自动完成等功能。我一直在使用它。
老实说,我喜欢Eclipse作为Java和XML IDE。C/C++工具包(CDT)有点不稳定,我使用CDT的唯一原因是Eclipse已经安装好了。在需要做更高级的事情(-B,static -l... -B,dynamic)的情况下,我通常会使用gedit和make。

1
就像Mark所说的那样,我也喜欢Netbeans,它非常简单易用,有很多出色的高亮显示功能,而且速度非常快。另外,如果只是为了编写一些快速简单的代码,我也喜欢gedit,它基本上是一个文本编辑器,但也具有出色的代码高亮显示功能(此外,它的Cobalt主题(基于深蓝色的主题)非常漂亮,长时间看屏幕也不会让你想把眼珠子掏出来)。

额,真的是什么(最后一句话)? - Marcel Korpel
啊,我真的需要睡一会儿了,错过了五个单词。 - Erethon
只是提供信息,NetBeans 有暗色主题可以下载或自己制作。 - mpen
是的,我知道,但出于某种原因,尽管我已经尝试了很多次,但我仍然无法获得与gedit完全相同的外观。 - Erethon

1

这似乎一直很不错,但我已经有一段时间没有进行过重度的C++工作了。

当然,它是一个emacs插件。

http://cedet.sourceforge.net/


哈哈哈...那个页面让我想哭,它太95年代了!! - mpen
@Mark:当你完成任务时,你会惊讶于闪亮的东西对你的影响是多么微小。 - Paul Nathan
哈哈... 不,你说得很对,但它们也没有什么坏处 :) - mpen

1

在我的经验中,Eclipse CDT的代码自动完成比Visual Studio、NetBeans、KDevelop或Xcode更好。特别是在解开typedef和模板实例化方面做得更好。

我还推荐使用CMake,使在不同开发环境和构建系统之间切换相对容易。

关于NetBeans的一个注记:它的代码自动完成效果很好,但在足够复杂的代码上会有性能问题。尝试使用boost,例如,它看起来需要很长时间。


Visual Studio 似乎无法很好地处理 Boost.MPL 或 StateChart 的 typedef。我也在查看某些头文件的 std:: 时遇到了问题。 - KitsuneYMG

0

我自己使用CodeBlocks,即使在Windows上也是如此。它的代码完成功能不像Visual Studio那样好,因为它只显示可能选择的名称,而Visual Studio甚至可以显示描述(如果您想要)。但它能够工作。

虽然如果您喜欢NetBeans或Eclipse,请坚持使用它们,CodeBlocks太不专业了(比如,他们自2006年以来没有更新过路线图...而且他们随意发布,要求用户使用不稳定的版本)


是的...我一开始使用DevCpp,后来转用CodeBlocks,当显然它已经死了,而CodeBlocks是一个足够相似的替代品...但一旦你尝试了专业的IDE,你就再也不会回头了。 - mpen
事实上,我不喜欢 Codeblocks,但我也曾从 DevCpp 转来... 使用 DevCpp 更容易,但它已经停止支持了 :( Code::Blocks 的配置界面非常让人讨厌,充其量只能说是让人感到困扰... - speeder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接