Visual Studio在编辑器中未显示编译时错误

62

例如,当我写下以下内容时:

string x = "turtle";
x.Go();

在String类型中缺少Go()方法时,没有出现红色波浪线来检测。

只有在编译时才会检测到错误。

我刚刚升级到Windows 7,使用的是Visual Studio 2008。

在我的旧环境中,在实际编译之前就会检测到这些错误。

是否有我遗漏的设置?

编辑:“工具”->“选项”->“文本编辑器”->“C#”->“在编辑器中下划线标记错误”已被选中。

我没有“实时语义”选项。也许我需要去SP1?


你尝试修复过VS2008安装吗?我在Win 7上运行VS2008,一切都没有问题。 - Lazarus
9个回答

79
您需要在 Visual Studio 中打开“编辑器中的下划线错误”和“显示实时语义错误”选项。
这些选项可以在以下位置找到:
工具 > 选项 > 文本编辑器 > C# > 高级 > 编辑器帮助
注意:您需要安装 SP1 才能使此功能生效。请参考此链接获取更多信息。

谢谢,这对我有用。在将Visual Studio 2010升级到SP1后,选项被取消选择了。 - famousgarkin
7
你是我的英雄。卸载了 Resharper 后似乎它把那些设置都关掉了。 - Ocelot20
1
Ocelot20,我在卸载Resharper后也遇到了同样的问题。这个答案让我省了很多时间去寻找选项。之后我还发现了VS2012左侧关闭按钮旁边的搜索框,在其中可以搜索VS本身的选项等内容。 - Wessel Kranenborg

19

停止项目。 打开文件夹项目。 删除 .vs 文件夹(它是一个隐藏文件夹)。 然后重新启动 Visual Studio。

编辑:

这种方法自 2012 版本的 Visual Studio 就已经存在了。该文件夹用于保存所有断点信息和其他设置。不清楚为什么,但在某些情况下,编译错误不再出现。删除 .vs 文件夹将“重置”您的断点,强制您需要重新进行设置。


1
已在Visual Studio 2019中修复了问题。 - Armaan
参与了 VS for Mac 2022 预览版的开发。谢谢! - Nick Dichiaro
你应该获得一枚该死的奖章! - Flyingkiwi

16

选择 工具 -> 选项,然后选择 文本编辑器。在使用的语言下(如C#),进入高级选项,并确保在编辑器中下划线标出错误显示实时语义错误已被勾选。


15

针对 Visual Studio 2015 及以上版本:

前往:工具 > 选项 > 文本编辑器 > C# > 高级 > 编辑器帮助

然后选择:启用完整解决方案分析


3
VS 2019:选项"打开文档"就足够了。 - Rekshino

2
我遇到了同样的问题,并且在VS2008的选项中勾选了“编辑器中的下划线错误”和“显示实时语义错误”,同时已安装了SP1。我的解决方案是下载Microsoft Visual Studio 2008 Service Pack 1 (Installer)并重新安装该软件包。尽管已经安装过了,但它没有被归类为“修复”或“重新安装”,但这个方法还是奏效了。

2

有一次,重新启动 Visual Studio 就解决了我的问题。


0

JavaScript 类型检查 有时对 JavaScript 代码进行类型检查可以帮助您发现可能会被忽略的错误。您只需在文件顶部添加 // @ts-check 注释,即可对现有的 JavaScript 代码运行 TypeScript 类型检查器。

// @ts-nocheck 

let easy = true;
easy = 42;

提示:您还可以通过将“javascript.implicitProjectConfig.checkJs”: true添加到工作区或用户设置中,并使用// @ts-nocheck和// @ts-ignore显式忽略文件或行,来在整个应用程序中启用检查。请查看VS Code中JavaScript文档以了解更多信息。

0
在我的情况下,问题是我创建了一个扩展名为.s的文件,而不是.cs,然后在创建后更改了扩展名为.cs。 我将其删除并正确地重新创建,现在VS正在对此文件中的错误进行标记。

0

我的解决方案;我知道它不会对80%的观众有所帮助,但是为了那些需要的人而言: 在解决方案的IOS部分中,我遇到了很多噪音,VS出现了很多不应该出现的错误,所以我只是删除了IOS部分,因为我并没有Mac服务器来测试它...之后发生了一些事情,波浪线又回来了!认真点,VS团队,请修复你们的bug...


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