【发布时间】:2022-05-03 13:42:23
【问题描述】:
Visual Studio 不会一次显示所有编译错误。 例如,有一次它说我有两个错误,当我修复它们时,又出现了 102 个编译错误,并且这些新错误不依赖于这两个先前的错误。 我们如何告诉它遍历所有代码并一次显示所有编译错误
【问题讨论】:
-
我在 VS 2008 专业版中使用 C# ..
标签: visual-studio-2008 compiler-errors
Visual Studio 不会一次显示所有编译错误。 例如,有一次它说我有两个错误,当我修复它们时,又出现了 102 个编译错误,并且这些新错误不依赖于这两个先前的错误。 我们如何告诉它遍历所有代码并一次显示所有编译错误
【问题讨论】:
标签: visual-studio-2008 compiler-errors
对于 Visual Studio 2015,有一个针对 C# 和 Basic 的设置,Tools->Options->Text Editor->Lang->Advanced: Enable full solution analysis。
https://msdn.microsoft.com/en-us/library/mt709421.aspx?f=255&MSPPError=-2147217396
【讨论】:
您没有提及您使用的是什么语言 [1],但没有隐藏设置本身隐藏错误,除了编译器在遇到过多问题后放弃(至少对于 Visual C++ [2])。
(Visual) C++ [2] 的问题在于,缺少大括号和括号或不匹配的#include 保护等简单错误会导致一系列级联故障,这些故障可能会导致大量错误,这意味着您的微小的错误就像大海捞针。因此,编译器可以决定,如果它只是提前停止而不是用错误消息填满你的控制台或磁盘,那么它对你们双方都是最好的。
[1] 在我回答问题时他们还没有。
[2] 早在 2010 年问这个问题时。
更新: 虽然 10 年后这个答案可能完全无关紧要,但出于历史原因,我将其保留在原地。我已经对其进行了编辑,希望能更好地展示我的初衷,即建议工具,而不是程序员有错。如果我的回答中的讽刺被误解并造成任何冒犯,我深表歉意。
【讨论】:
更新 jmoreno 的答案,对于 Visual Studio >= 16.5 (2019) 的版本“启用完整解决方案分析”复选框已消失,取而代之的是一组单选按钮,位于文本编辑器/语言/高级
现在相当于“整个解决方案”
【讨论】:
如果不知道您使用什么编译器,这是不可能回答的。但总的来说,您不能指望完整的错误列表有用,一个错误的声明可能会在代码中生成大量其他实际上并没有错误的错误。您只能真正相信前几个错误。
从列表顶部开始,一次一个错误地解决它。并确保您的更改不会反过来产生一大堆新错误。听它的声音是怎么回事。
【讨论】:
它显示更多错误的唯一原因是您刚刚修复的编译错误导致它们发生。他们以前不是问题。可能是您添加了新的参考或删除了一些参考以解决一个问题。这些操作中的一个或两个导致出现 100 个或更多下一个编译错误。
这通常是由于解决方案级别的设计不佳造成的,其中添加了太多循环或不必要的引用,从而导致歧义问题或类似的类型不匹配问题。这当然只是众多原因之一。
【讨论】: