Есть ли способ отобразить время сборки всего решения в Visual Studio? - PullRequest
14 голосов
/ 21 января 2010

Я знаю, что есть способ отображения времени сборки каждого проекта, содержащегося в решении в visual studio . Но то, что я ищу, - это общее время, которое потребовалось для создания полного решения, с момента, когда я нажал на сборку, до момента, когда это было сделано.

Есть ли что-нибудь, чтобы сделать это? Запуск Visual Studio 2008.

Ответы [ 3 ]

11 голосов
/ 21 января 2010

EDIT: вот способ, которым вы можете записать время сборки непосредственно в окно сборки .

Откройте Visual Studio Macro IDE.
Перейдите к MyMacros> EnvironmentEvents.
Под MyMacros добавьте ссылку на System.Windows.Forms (для показанного ниже кода для отображения всплывающего окна).
Добавьте этот код в модуль 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

Когда вы собираете или перестраиваете полное решение, в конце продолжительность сборки / перестройки будет напечатана в окне вывода сборки. Вы можете изменить условия в IsBuild в соответствии со своими предпочтениями.

3 голосов
/ 21 января 2010

Инструменты-> Параметры-> Проекты и решения-> Настройки проекта VC ++-> Время сборки

1 голос
/ 11 января 2019

Это старый вопрос, но я подумал, что некоторые могут найти его полезным.

Я написал расширение для VS2015 и VS2017. Он отображает время начала и окончания каждого проекта, выраженное относительно начала полной сборки. Следовательно, время окончания последнего проекта - это общее время сборки решения.

Я написал больше о расширении здесь .

...