versiones guia español descargar actualizar c++ visual-studio visual-studio-2008 visual-c++ visual-studio-2005

c++ - guia - qgis manual



¿Detener automáticamente la compilación de Visual C++ 2008 en el primer error de compilación? (6)

Sé que puedo compilar archivos fuente individuales, pero a veces, por ejemplo, al editar un archivo de cabecera utilizado por muchos archivos .cpp , se deben recompilar varios archivos fuente. Para eso está Build.

El comportamiento predeterminado del comando "Generar" en VC9 (Visual C ++ 2008) es intentar compilar todos los archivos que lo necesitan. Algunas veces esto solo resulta en muchas compilaciones fallidas. Normalmente solo observo los errores y presiono ctrl-break para detener la compilación manualmente.

¿Hay alguna forma de configurarlo para que la compilación se detenga automáticamente al primer error de compilación (no la primera compilación de proyecto fallida)?


Esto se puede hacer agregando una macro que se ejecuta en respuesta al evento OnBuildProjConfigDone.

La macro es la siguiente:

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


Existe esta publicación : no estoy seguro si detiene la compilación en el primer error o el primer proyecto fallido en una solución.

Ctrl-break también lo detendrá manualmente.

¡Ahora si hubiera alguna manera de detenerlo, pasar 10 minutos reconstruyendo intelisense después de que fallara una compilación!


Sé que la pregunta era para VS 2008, pero me topé con ella cuando buscaba la misma respuesta para VS 2012. Ya que las macros ya no son compatibles en 2012, las macro soluciones ya no funcionarán.

Puede descargar una extensión que aparentemente funciona en VS 2010 y 2012 here . Puedo confirmar que funciona bien en VS 2012.

El enlace original a la extensión fue dado en this respuesta.


Sí, esto funciona bien en 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


Se me ocurrió un mejor macro chicos. Se detiene inmediatamente después del primer error / s (tan pronto como se actualiza la ventana de compilación).

Visual Studio -> Herramientas -> Macros -> Macro IDE ... (o 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

Espero que funcione para ustedes.


También puede descargar this extensión, parece funcionar para todas las versiones de Visual Studio