Visual Studio 2015 (C++):在第一次构建错误时停止编译(不是第一个项目)
Posted
技术标签:
【中文标题】Visual Studio 2015 (C++):在第一次构建错误时停止编译(不是第一个项目)【英文标题】:Visual Studio 2015 (C++) : Stop compile on first build error (not first project) 【发布时间】: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)
并粘贴a certain piece of code。
但是,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">
非常简单。谢谢!如果需要,您可以将其发布为解决方案。 :)
很高兴它成功了。
【参考方案1】:
VS2010问题的解决方法是安装一个名为“CancelFailedBuild”的扩展。
...
此扩展程序不可安装在任何当前安装的产品上。
...这是有道理的,因为扩展程序说“适用于:Visual Studio 2010、2012。”
Visual Studio 2012 扩展经常与 VS2013 和 VS2015 兼容。您可以通过解压缩 .vsix
文件(它只是一个 ZIP 存档)并更新其清单(它是一个 XML 文件)来自行更新扩展。
This guide 显示要更改的 XML 元素。
【讨论】:
以上是关于Visual Studio 2015 (C++):在第一次构建错误时停止编译(不是第一个项目)的主要内容,如果未能解决你的问题,请参考以下文章
在 Microsoft Visual Studio 2015 的 C++ 项目中包含 Armadillo C++ 库
加载 Visual Studio 2015 C++ 项目时出错,如何调试
Visual Studio 2015 Update 1 中的 C++ 内部编译器错误
如何在 Visual Studio 2015 中成功导出 C++ 项目模板?