在Visual Studio 2019中延迟自动编译

4
使用Visual Studio 2019 Professional v16.8.2时,每次修改代码时会自动在后台触发重新编译。这将标记/取消标记错误波浪线、添加/删除Error List窗口中的项目以及与这些错误相关的智能感知信息。
为了演示,请确保启用了 Tools > Options > Text Editor > General > Show error squiggles,并查看Error List窗口。使用任何编译正确的大型C++或C#项目,有意在方法中添加一个闭合括号}。对于我来说,这个小例子生成了251个错误和相关的错误波浪线,但是可以通过这种方式生成成千上万个错误。现在反复删除然后重新添加闭合括号……Visual Studio开始在尝试标记/取消标记并添加/删除所有这些错误时出现延迟。
当快速输入、粘贴代码或仅将IDE用作文本编辑器时,这会分散注意力并令人非常烦恼。
是否可能在自动编译之前配置最后按键输入之间的延迟?理想情况下,我希望有类似于~2000ms的延迟,或者甚至只能手动重新编译的能力。
1个回答

1

它正在按预期工作。

这是预编译器和智能感知的功能。它们的整个目的是在您尝试编译可能需要很长时间的代码之前捕获编译器错误(例如您提到的“大型项目”)。


截至本篇文章发布时,VS2019 今天进行了更新,我刚刚注意到在 工具 > 选项... > 文本编辑器 > 高级 下有一个标签为“在输入时自动取消长时间运行的辅助操作”的选项,其具有以下单选框设置:

  • 自动调整允许的最大输入延迟
  • 允许的最大输入延迟(以毫秒为单位)[文本框]

默认情况下选择第一个选项。您可以尝试更改设置,强制将允许的最大时间设置为 2000ms(或适合您需求的任何值),看看是否有所帮助。


顺便一提:我有一个完全相反的问题:即使在完美正常和格式良好的代码上,波浪线也不会消失,直到我保存或手动编译。(这取决于哪个先起作用,真是随机运气。)

1
无法看到设置“允许的最大打字延迟(以毫秒为单位)”的影响,至少在预编译方面没有影响。您如何测试该功能?可能是错误的,但它似乎与大括号和语句完成有关,并且似乎不会影响重新编译。 - AlainD

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