2010-03-30 1 views
0

Это делается вручную, перейдя в окно вывода «Список ошибок» и дважды щелкнув по первой ошибке или нажав F8. Есть ли способ автоматизировать это?Как заставить Visual Studio автоматически перейти к первой ошибке в сборке?

(Я использую C++, если это имеет значение.)

+0

Создайте макрос и назначьте его для короткого ключа, вы сохраните двойной щелчок – vittore

+0

Также вы, вероятно, можете добавить команду post build ... – vittore

ответ

1

Витторе находится на пути ...

В VS нажмите Alt + F11, чтобы открыть Macros IDE. Под модулем «MyMacros» открытых «EnvironmentEvents» и ниже этих трех линий

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

паста это Суб:

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 и окно сообщений ...

+0

Спасибо, строка «DTE.ExecuteCommand (« Edit.GoToNextLocation ») была тем, что Я искал. Однако это не обязательно относится к первой ошибке - любая идея, как предотвратить это событие от вызова более одного раза за сборку? – Jon

+0

Нашел еще один пост здесь, в SO (http://stackoverflow.com/questions/134796/how-to-automatically-stop-visual-c-build-at-first-compile-error), где вместо этого использовалось событие OutputWindowEvents_OnPaneUpdated. –

+0

Да, я использую эту технику (Эрик Муйзер), чтобы отменить сборку. Но у него по-прежнему есть одна и та же проблема, которую можно назвать не раз. – Jon

0

Добавление к предыдущему ответу:

Я предлагаю View.NextError вместо Edit.GoToNextLocation. Не путайте его группу (View), это на самом деле Входит в место ошибки в редакторе, например, если вы дважды щелкните элемент ошибки в списке ошибок.

Вы также можете отобразить его на клавиатуре так:

  • Ctrl + Сдвиг + PgUp = View.GoToPreviousError
  • Ctrl + Сдвиг + PgDn = View.GoToNextError

Это позволит вам проверять наличие ошибок (и перемещаться между ними в редакторе) даже без необходимости отображения окна ошибки и даже без запуска сборки.

 Смежные вопросы

  • Нет связанных вопросов^_^