如何让Visual Studio自动转到构建中的第一个错误?

时间:2010-03-30 03:06:38

标签: visual-studio vsx vs-extensibility

这是通过转到“错误列表”输出窗口并双击第一个错误或按F8手动完成的。有没有办法实现自动化?

(如果重要的话,我正在使用C ++。)

2 个答案:

答案 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编辑器中的错误位置,就像双击错误列表中的错误项一样。

您也可以通过这种方式将其映射到键盘:

  • Ctrl + Shift + PgUp = View.GoToPreviousError
  • Ctrl + Shift + PgDn = View.GoToNextError

这将允许您检查错误(并在编辑器中在它们之间移动),即使不需要显示错误窗口,甚至不运行构建。