通常我用C#编程但是被迫在C ++中做一些工作。与C#相比,与Visual Studio(2008)的集成似乎真的很差,但我想知道是否有任何可以改善这种情况的好工具,插件或配置。
另一篇文章指出了Visual Assist X程序,它至少可以帮助重构一些事情(尽管对我来说有点贵)。但是,我的主要问题是,编译错误几乎没有给出错误的线索,我花了大部分时间来弄清楚我做错了什么。它只是感觉可能静态地检查比VS开箱即用更多的错误。为什么它不像C#那样提供蓝色下划线,这不应该太难?!
我意识到问题的一半只是我不熟悉C ++这一事实,但我真的觉得让程序编译起来是不合理的。有没有这种工具或我的要求太高了?
答案 0 :(得分:7)
我认为有两种可能性:1)要么你正在尝试C ++的东西而不是你的知识(因此,你不知道你做错了什么以及如何解释错误信息),2)你抱有太高的期望。
提示:许多后续错误是由第一个错误引起的。当我得到一个巨大的错误列表时,我通常只纠正第一个错误并重新编译。你会惊讶于丢失的分隔符或类型声明会产生多少垃圾(就错误信息而言):)
在编译之前很难对C ++程序进行语法分析主要有两个原因:1)C ++语法是依赖于上下文的,2)模板是Turing-complete(将它们视为具有奇怪语法的函数式编程语言) )。
答案 1 :(得分:4)
我的建议:
答案 2 :(得分:3)
+1 for Visual Assist,也许不是现在 - 但是当你把这个爱好变成一个专业时,你将需要它。
根据我的经验,诊断已经比VC6好得多,但是你需要“学习”它们作为学习IDE的一部分的真正含义。
由于构建模式和非常复杂的语言,C ++的静态检查比C#复杂得多。 PC-Lint (最好与Visual Lint一起将其集成到IDE中)是规范的静态分析。也不便宜,但是......
C ++标准有时读起来像经文,但没有经过训练的传教士来解释它。一位优秀的翻译是Marshal Cline和他的 C++ FAQ 。请注意,在线常见问题解答虽然广泛,但涵盖的内容远远少于the book。
帮助我理解复杂错误消息的原因是试图在较小的环境中重现问题 - 但是当时没有互联网......