Automatycznie zatrzymać Visual C++ 2008 build przy pierwszym błędzie kompilacji?
Wiem, że mogę skompilować pojedyncze pliki źródłowe, ale czasami -- powiedzmy, podczas edycji pliku nagłówkowego używanego przez wiele plików .cpp
-- wiele plików źródłowych wymaga rekompilacji. Po to jest Build.
Domyślnym zachowaniem polecenia "Build" w VC9 (Visual C++ 2008) jest próba skompilowania wszystkich plików, które tego potrzebują. Czasami skutkuje to po prostu wieloma nieudanymi kompilacjami. Zwykle po prostu obserwuję błędy i wciskam ctrl-break, aby ręcznie zatrzymać kompilację.
Czy jest sposób na skonfiguruj go tak, że kompilacja zatrzymuje się na pierwszym błędzie kompilacji (nie pierwszym nieudanym kompilacji projektu) automatycznie?
6 answers
Wymyśliłem lepsze makro. Zatrzymuje się natychmiast po pierwszym błędzie/s (zaraz po zaktualizowaniu okna kompilacji).
Visual Studio - > Narzędzia - > Makra - > Macro IDE... (lub 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
Mam nadzieję, że wam się uda.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-06 03:03:53
Można to zrobić dodając makro, które jest uruchamiane w odpowiedzi na zdarzenie OnBuildProjConfigDone.
Makro wygląda następująco:
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-11 22:30:57
Tak, to działa dobrze na 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-21 10:20:39
Wiem, że pytanie dotyczyło VS 2008, ale natknąłem się na nie, szukając tej samej odpowiedzi dla VS 2012. Ponieważ makra nie są już obsługiwane w 2012 roku, rozwiązania makr nie będą już działać.
Możesz pobrać rozszerzenie, które najwyraźniej działa w VS 2010 i 2012 tutaj . Mogę potwierdzić, że działa dobrze w VS 2012.
Oryginalny link do rozszerzenia został podany w tej odpowiedzi .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:19:26
Jest Ten post - Nie wiem, czy zatrzymuje kompilację przy pierwszym błędzie, czy przy pierwszym nieudanym projekcie w rozwiązaniu.
Ctrl-break zatrzyma go również ręcznie.
Teraz, jeśli był jakiś sposób, aby zatrzymać to wydatki 10mins odbudowa intelisense po build failed!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-28 13:14:15
Możesz również pobrać to rozszerzenie , wydaje się działać dla każdej wersji Visual Studio
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-01 09:55:55