Visual Studio Macro - регистрация временных меток в Solution открывает, закрывает, создает и т. Д. - PullRequest
2 голосов
/ 10 ноября 2010

У меня есть решение, которое требует времени, чтобы открыть.(5 минут) Из-за наших процессов и процедур я постоянно прыгаю между разными ветвями одного и того же решения.Я постоянно закрываю и загружаю разные варианты одного и того же решения чаще, чем несколько раз в день.Это более 15 минут - 30 минут потрачено впустую, просто на то, чтобы побывать на моей Visual Studio.Я обвиняю устаревшее компьютерное оборудование как виновника.Я хочу получить показатели того, сколько времени занимает загрузка решений, а также сколько времени занимает сборка.Моя цель - представить эти метрики руководству.

Я использую макросы Visual Studio для отслеживания этой информации.

В настоящее время я записываю метки времени для этих трех событий EnvDTE.SolutionEvents.BeforeClosing, EnvDTE.SolutionEvents.AfterClosing, EnvDTE.SolutionEvents.Opened.

Проблема заключается в том, что SolutionEvents.Opened срабатывает после загрузки всего решения.Мне нужно сгенерировать временную метку с момента начала загрузки решения и до его завершения.

Как узнать, когда Visual Studio начинает загрузку решения? , чтобы я мог сравнить егокогда он закончил загрузку.

Ниже приведен мой код (функция My LogWithTimeStamp () просто записывает строку в файл с текущей временной меткой в ​​качестве префикса:

Private Sub SolutionEvents_BeforeClosing() Handles SolutionEvents.BeforeClosing
    LogWithTimeStamp("SolutionEvents.BeforeClosing")
End Sub

Private Sub SolutionEvents_AfterClosing() Handles SolutionEvents.AfterClosing
    LogWithTimeStamp("SolutionEvents.AfterClosing")
End Sub

Private Sub SolutionEvents_Opened() Handles SolutionEvents.Opened
    LogWithTimeStamp("SolutionEvents.Opened")
End Sub
...