【发布时间】:2017-01-15 13:13:27
【问题描述】:
Visual Studio 2015 检测到编译错误时如何停止编译?
我的意思是第一个构建错误(可能是第一个.cpp),而不是第一个项目,因为它需要太多时间。
(我只有一个项目。)
名为"StopOnFirstBuildError" 的扩展名不是答案,
因为它停在有错误的第一个项目上。
问题
(更详细)
当我按下 F5 或 Ctrl+Shift+B 时,编译器将编译所有(或部分)文件。
就我而言,它只用 5 秒就可以检测到一些错误,所以我希望它现在停止编译。
但是,VS 2015 变得无响应。
对Ctrl+Break也有很强的抵抗力。
大约需要 30 秒才能导航到错误位置。
如何在第一个编译错误时自动停止编译过程?
历史
有 an old thread 询问有关 Visual Studio 2008 的问题。
它最被接受的解决方案是去:-
Visual Studio -> Tools -> Macros -> Macro IDE... (or ALT+F11)
但是,macro is not supported anymore in VS 2012.
(我尝试在VS 2015中按Alt+F11,没有出现宏编辑器/菜单。)
声明与a question for VS 2010一致,表示上述技巧无效。
The solution VS2010 的问题是安装一个名为"CancelFailedBuild" 的扩展。
因此,我下载了它。
执行.vsix(安装程序)时,它说
“此扩展程序不可安装在任何当前安装的产品上。”。
...这是有道理的,因为扩展名说“适用于:Visual Studio 2010、2012”。
现在我想我只有一个选择了:-
通过安装 Macros extension 使用宏(旧的 VS 2008 方式)。
(扩展是users' complain about losing the old macro feature的结果。)
下载扩展是个好主意吗?
如果是这样,那之后的步骤是什么?有我应该复制粘贴的代码吗?
如果没有,有什么更简单的方法?
很抱歉发布了很多超链接。
解决方法
以下是可以减轻一些不便的方法,但根本不回答实际问题。
Install a patch that make Visual Studio responsive,所以 Ctrl+Break 有效。
它需要我手动按键盘。
它似乎只适用于 Windows 7。(未测试)通过创建一个简单的虚拟
.cpp,然后是compiling only that single file来缩短编译时间。
它在某些情况下很有用。
【问题讨论】:
-
这是有道理的,因为扩展程序说“适用于:Visual Studio 2010, 2012 您通常可以解压缩
vsix并更改清单。 -
@ta.speot.is 怎么样?我对
vsix的了解为零。我猜它可能还会调用一些只存在于旧版本 VS 中的脚本函数。 -
这只是一个 zip 文件。 grantwinney.com/…
-
@ta.speot.is 它适用于这个插件(“CancelFailedBuild”)。只需将清单修改为
<VisualStudio Version="14.0">非常简单。谢谢!如果需要,您可以将其发布为解决方案。 :) -
很高兴它成功了。