EDIT: Ecco un modo è possibile scrivere il tempo di costruzione direttamente alla finestra di compilazione.
Apre l'IDE di Visual Studio Macro.
Passare a MyMacros> EnvironmentEvents.
In MyMacros, aggiungere un riferimento a System.Windows.Forms (per il codice seguente per visualizzare una finestra popup).
Aggiungere questo codice al modulo EnvironmentEvents:
Dim buildStart As Date
Private Function IsBuild(ByVal scope As EnvDTE.vsBuildScope, ByVal action As EnvDTE.vsBuildAction) As Boolean
Return scope = vsBuildScope.vsBuildScopeSolution AndAlso (action = vsBuildAction.vsBuildActionBuild OrElse action = vsBuildAction.vsBuildActionRebuildAll)
End Function
Private Sub BuildEvents_OnBuildBegin(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildBegin
If (IsBuild(Scope, Action)) Then
buildStart = Date.Now
End If
End Sub
Private Sub BuildEvents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildDone
If (IsBuild(Scope, Action)) Then
Dim buildTime = Date.Now - buildStart
WriteToBuildWindow(String.Format("Build time: {0}", buildTime.ToString))
End If
End Sub
Private Sub WriteToBuildWindow(ByVal message As String)
Dim win As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
Dim ow As OutputWindow = CType(win.Object, OutputWindow)
For Each owPane As OutputWindowPane In ow.OutputWindowPanes
If (owPane.Name.Equals("Build")) Then
owPane.OutputString(message)
Exit For
End If
Next
End Sub
Quando costruire o ricostruire la soluzione completa, alla fine, la costruzione/ricostruzione durata verrà stampato nella finestra di output di generazione. È possibile modificare le condizioni in IsBuild in base alle proprie preferenze.
fonte
2010-01-21 19:01:49
Ho aggiunto questo codice anche a questa domanda: http://stackoverflow.com/questions/523220/awesome-visual-studio-macros Spero che anche altri che hanno macro altrettanto utili li aggiungeranno anche lì. L'editor di Visual Studio Macro è molto potente, ma non ho mai incontrato un buon repository macro. –
EDIT: Stranamente, su uno dei miei computer viene catturato l'evento build ended ... ma non supera il test IsBuild, quindi restituisce semplicemente. Uso Visual Assist X sul computer che non è in grado di rilevare l'evento, se questo fa alcuna differenza. – levesque
Aprire l'elenco degli errori nell'IDE delle macro (menu Visualizza> Elenco errori) e verificare se sono presenti errori. L'IDE Macro è piuttosto strano per gli errori; abbastanza spesso non vi darà alcun segno che esistano se non il fatto che le macro non funzionano. Molto probabilmente ti manca una dichiarazione Imports o qualcosa del genere. –