这是通过转到“错误列表”输出窗口并双击第一个错误或按F8手动完成的。有没有办法实现自动化?
(如果重要的话,我正在使用C ++。)
答案 0 :(得分:1)
vittore正在进行中......
在VS中按Alt + F11打开Macros IDE。在'MyMacros'下打开'EnvironmentEvents'模块并在这三行下面
'Event Sources End
'End of automatically generated code
#End Region
粘贴这个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
显然,您可以注释掉或删除Beep和消息框......
答案 1 :(得分:0)
添加到上一个答案:
我建议使用 View.NextError
命令代替Edit.GoToNextLocation
。不要被它的组(View
)弄糊涂,它实际上 GOes TO编辑器中的错误位置,就像双击错误列表中的错误项一样。
您也可以通过这种方式将其映射到键盘:
View.GoToPreviousError
View.GoToNextError
这将允许您检查错误(并在编辑器中在它们之间移动),即使不需要显示错误窗口,甚至不运行构建。