【问题标题】:Delay automatic compilation in Visual Studio 2019Visual Studio 2019 中的延迟自动编译
【发布时间】:2021-02-24 05:19:31
【问题描述】:

使用 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 用作文本编辑器时,这会让人分心,而且非常烦人。

是否可以在自动编译之前配置最后一次按键的延迟?理想情况下,我想要大约 2000 毫秒,甚至是只能手动重新编译的能力。

【问题讨论】:

    标签: visual-studio visual-studio-2019


    【解决方案1】:

    它按预期工作。

    这是预编译器和智能感知的功能。他们的全部目的是在您尝试编译可能需要很长时间的代码之前捕获编译器错误(回复:您的“大型项目”示例)。


    今天发布了 VS2019 的更新,我刚刚注意到 Tools > Options... > Text Editor > Advanced 下标有“自动取消打字时长时间运行的辅助操作”的选项,具有以下单选框设置:

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

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


    附带说明:我有完全相反的问题:在我保存和/或手动编译之前,即使在完全正常且格式正确的代码上,曲线也不会消失。 (这是一个实际上首先起作用的废话。)

    【讨论】:

    • 无法看到设置Maximum allowed typing latency in milliseconds 的任何效果,至少在预编译方面没有。您如何测试该功能?可能是错误的,但它似乎与大括号和语句完成有关,并且似乎不影响重新编译。
    猜你喜欢
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多