【问题标题】:Visual Studio 2015 (C++) : Stop compile on first build error (not first project)Visual Studio 2015 (C++):在第一次构建错误时停止编译(不是第一个项目)
【发布时间】:2017-01-15 13:13:27
【问题描述】:

Visual Studio 2015 检测到编译错误时如何停止编译?

我的意思是第一个构建错误(可能是第一个.cpp),而不是第一个项目,因为它需要太多时间。
(我只有一个项目。)

名为"StopOnFirstBuildError" 的扩展名不是答案,
因为它停在有错误的第一个项目上。

问题

(更详细)

当我按下 F5Ctrl+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的结果。)

下载扩展是个好主意吗?
如果是这样,那之后的步骤是什么?有我应该复制粘贴的代码吗?
如果没有,有什么更简单的方法?

很抱歉发布了很多超链接。

解决方法

以下是可以减轻一些不便的方法,但根本不回答实际问题。

  1. Install a patch that make Visual Studio responsive,所以 Ctrl+Break 有效。
    它需要我手动按键盘。
    它似乎只适用于 Windows 7。(未测试)

  2. 通过创建一个简单的虚拟.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"> 非常简单。谢谢!如果需要,您可以将其发布为解决方案。 :)
  • 很高兴它成功了。

标签: c++ visual-studio-2015


【解决方案1】:

VS2010问题的解决方法是安装一个名为“CancelFailedBuild”的扩展。

...

此扩展程序不可安装在任何当前安装的产品上。

...这是有道理的,因为扩展程序说“适用于:Visual Studio 2010、2012。”

Visual Studio 2012 扩展经常与 VS2013 和 VS2015 兼容。您可以通过解压缩 .vsix 文件(它只是一个 ZIP 存档)并更新其清单(它是一个 XML 文件)来自行更新扩展。

This guide 显示要更改的 XML 元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2015-10-05
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 2019-06-22
    相关资源
    最近更新 更多