自动停止的Visual C ++ 2008构建的第一个编译错误?(Automatically sto

2019-06-21 06:21发布

我知道我可以编译单个源文件,但有时-说,编辑由许多使用头文件时.cpp文件-多个源文件需要重新编译。 这就是构建是。

在VC9“生成”命令的默认行为(VISUAL C ++ 2008)是尝试编译需要的所有文件。 有时,这只是导致许多失败编译。 我通常只是看是否有错误,然后按Ctrl-Break来手动停止建设。

有没有对它进行配置的方式,例如构建停止在自动最先编译错误 (不是第一个失败的项目构建)?

Answer 1:

我想出了一个更好的宏观家伙。 它的第一个错误/秒(一旦生成窗口更新)后立即停止。

Visual Studio中 - >工具 - >宏 - >宏IDE ...(或ALT + F11)

Private Sub OutputWindowEvents_OnPaneUpdated(ByVal pPane As OutputWindowPane) Handles OutputWindowEvents.PaneUpdated
    If Not (pPane.Name = "Build") Then Exit Sub

    pPane.TextDocument.Selection.SelectAll()
    Dim Context As String = pPane.TextDocument.Selection.Text
    pPane.TextDocument.Selection.EndOfDocument()

    Dim found As Integer = Context.IndexOf(": error ")

    If found > 0 Then
        DTE.ExecuteCommand("Build.Cancel")
    End If

End Sub 

希望它能为你的家伙。



Answer 2:

这可以通过添加在响应事件OnBuildProjConfigDone运行宏来完成。

宏如下:

Private Sub BuildEvents_OnBuildProjConfigDone(ByVal Project As String, ByVal ProjectConfig As String, ByVal Platform As String, ByVal SolutionConfig As String, ByVal Success As Boolean) Handles BuildEvents.OnBuildProjConfigDone

  If Success = False Then
    DTE.ExecuteCommand("Build.Cancel")
  End If

End Sub


Answer 3:

是啊,这工作正常的MSVC 2005-2010:

Public Module EnvironmentEvents
  Private Sub OutputWindowEvents_OnPaneUpdated(ByVal pPane As OutputWindowPane) Handles OutputWindowEvents.PaneUpdated
    If Not (pPane.Name = "Build") Then Exit Sub

    Dim foundError As Boolean = pPane.TextDocument.StartPoint.CreateEditPoint().FindPattern(": error")
    Dim foundFatal As Boolean = pPane.TextDocument.StartPoint.CreateEditPoint().FindPattern(": fatal error")

    If foundError Or foundFatal Then
      DTE.ExecuteCommand("Build.Cancel")
    End If
  End Sub
End Module


Answer 4:

我知道这个问题是2008年的VS,但我碰到它跌跌撞撞为VS 2012相同的答案搜索时,由于宏不再支持2012,微距解决方案将不再工作。

您可以下载,显然工作在VS 2010和2012的扩展这里 。 我可以证实,它的工作原理以及在VS 2012。

原文链接到扩展中被赋予这种反应。



Answer 5:

有这个职位 -如果不知道它停靠在第一个错误的生成或在溶液中第一个失败的项目。

按Ctrl-突破也将手动停止。

现在,如果有一些方法来阻止它花费10分钟重建智能感知后构建失败!



Answer 6:

您也可以下载该扩展,似乎在为Visual Studio的每个版本工作



文章来源: Automatically stop Visual C++ 2008 build at first compile error?