Automatically Stop Visual C++ 2008 Build at First Compile Error

Automatically stop Visual C++ 2008 build at first compile error?

I came up with a better macro guys. It stops immediately after the first error/s (soon as build window is updated).

Visual Studio -> Tools -> Macros -> Macro IDE... (or 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

Hope it works out for you guys.

VS2010 - How to automatically stop compile on first compile error

(You can now download this as an extension, if you don't want to build it yourself)

This answer only works in VS2010 (seems fair :]). I've put the source up on my github page. Before you can build it, you'll need to install the SDK. Once you've done that, just grab the complete source from github (includes project files) and build that. You can install the output into your normal VS instances by finding the VSIX in your build output and opening it.

The important part is:

public void TextViewCreated(IWpfTextView textView)
{
var dte = GlobalServiceProvider.GetService(typeof(DTE)) as DTE;
textView.TextBuffer.Changed += (sender, args) =>
{
//Output window is friendly and writes full lines at a time, so we only need to look at the changed text.
foreach (var change in args.Changes)
{
string text = args.After.GetText(change.NewSpan);
if (BuildError.IsMatch(text))
dte.ExecuteCommand("Build.Cancel");
};
}
}

... where BuildError is a regex defined above that you can tweak. If you have any questions about modifying the code, let me know.

Visual Studio 2015 (C++) : Stop compile on first build error (not first project)


The solution for the VS2010 question is to install an extension named "CancelFailedBuild".

...

This extension is not installable on any currently installed products.

...it makes sense because the extension said that "Works with: Visual Studio 2010, 2012."

Visual Studio 2012 extensions are frequently compatible with VS2013 and VS2015. You can update the extension yourself by unzipping the .vsix file (it's just a ZIP archive) and updating its manifest (which is an XML file).

This guide shows you the XML elements to change.

Want to switch to Error list after Build if there were errors

In VS2008, Tools > Options > Projects and Solutions > General > check the Always show Error List if build finishes with errors.

How do I make Visual Studio automatically go to the first error in a build?

vittore is on track...

In VS press Alt+F11 to open the Macros IDE. Under 'MyMacros' open 'EnvironmentEvents' module and below these three lines

'Event Sources End
'End of automatically generated code
#End Region

paste this Sub:

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")
Beep()
System.Windows.Forms.MessageBox.Show("Build failed!", "Build Events", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error)
DTE.ExecuteCommand("Edit.GoToNextLocation")
End If
End Sub

Obviously, you can comment out or delete the Beep and the message box...



Related Topics



Leave a reply



Submit