如何在Visual Studio 2017中禁用实时代码分析?

25

我在Visual Studio 2017中该如何禁用实时代码分析?每次启动我的解决方案时都会弹出此项。我不需要它:

Live code analysis pop-up picture

我遵循了微软的支持文档,但是取消勾选“启用完整解决方案分析”似乎对实时代码分析没有影响。然后我找到了Visual Studio 2012的一个解决方案,但也没有运气。

所以对我来说,实时代码分析是一个完全不同的东西,不受完整解决方案分析的管理。它在(重新)启动解决方案后立即作为后台进程任务运行。无论如何,我怎样才能摆脱这个问题?


你解决了吗? - rollsch
1
@Microsoft:请务必解决这个问题! - Thread Pitt
2
这太荒谬了。让VS运行如此缓慢 - 应该是全局选项。新的.NET Core小伙伴们不理解大型解决方案。它比Windows Defender和ReSharper加起来还要更加突兀 :-/ - user2864740
3个回答

10
我遇到了类似的问题。在项目中有一个巨大的临时初始化文件,超过50K行。每当我打开它时,Live Code Analysis会启动,VS会占用高达50%的CPU。
我通过创建一个空的规则集并将其设置在项目属性的Code Analysis部分上来关闭它。现在看起来它正在运行,只运行了几秒钟,然后停止了,因为没有规则可应用。
我不知道这是否完全适用于您的问题,但是以下是操作步骤:
要创建一个空的规则集:
1. 在“运行此规则集”下的ComboBox中单击“选择多个规则集”: Choose multiple rule sets 2. 确保“添加或删除规则集”窗口中未选中任何规则集。
3. 单击“另存为”按钮: List of Rule Sets 4. 在文件对话框中,保存您的新规则集。我将我的命名为“EmptyRuleSet”。
5. 保存过程后,新的空规则集应在ComboBox中被选中。单击下面的“打开”按钮: Open button 6. 在规则集详细信息中,取消选中所有子规则集,在“操作”列下只有“None”: Empty Rule Set Detail 7. 保存项目属性更改。
完成这些步骤后,您可以看到当您打开文件或启动解决方案时,“Live Code Analysis”会空运行几秒钟,然后停止。您可能需要重新启动Visual Studio。
如下图所示: Live Code Analysis - empty run

1
是的,如果实时代码分析弹出但在几秒钟后消失,那么这似乎是一个不错的解决方法。该项目已经结束,我无法再访问虚拟机了。所以很遗憾,我无法检查您的解决方法。但它听起来很有前途。 - colidyre
没问题,我遇到了这个问题已经几周了,昨天才终于解决了。 - AntiqTech
1
我还在尝试这个,但乍一看,Visual Studio在空闲时从25%恒定降至0%。过去两年中,我一直使用超级缓慢的Visual Studio - 这是非常糟糕的。感谢您的解决方法。 - Dirk Boer

10

在VS2017中不可能实现

除非禁用“扩展和更新”中的所有Roslyn安装组件。

我正在使用一个解决方法,全局设置强制在构建解决方案项目时运行分析,当编辑器发生任何更改时运行,但是现在编辑器使用以下解决方法更快:

工具 -> 选项 -> 文本编辑器 -> C#(在我的情况下) -> 高级 -> 在外部进程中执行编辑器功能分析(实验性) -> 选择并保存。

更新:在VS2019 16.5中可以实现

有关已关闭问题的更多详细信息(解决方法适用于VS2019):如何禁用Visual Studio 2017中的实时代码编译/分析?


“不可能” 对我来说似乎足够合理,可以接受这个答案作为最有帮助的,而无需测试解决方法。 - colidyre
1
@colidyre 最终在VS2019 16.5中,他们提供了一些开关来停止它。 - SilentTremor

2
我通过使用“输入时自动取消长时间运行的辅助操作”设置,使VS 2019以可接受的速度运行。默认的“自动”设置似乎没有效果,尽管现在将其改回来似乎并没有重新引入非常缓慢的后台处理问题。

enter image description here

我不知道这是否会停止/中止/阻止更有用的功能,尽管它似乎可以“驯服”VS 2019的后台处理。

1
这个问题与VS 2017有关,但答案很有趣,因为似乎无法停止VS 2017的“实时代码分析”。我目前没有办法在这里检查这个答案。但很高兴听到在VS 2019中有更多的可能性。 - colidyre
对于最新的VS 2019和一些.NET Core SDK包,这就是我看到的:| - user2864740

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