EDIT: Đây là một cách bạn có thể viết thời gian xây dựng trực tiếp đến việc xây dựng cửa sổ.
Mở IDE Visual Studio Macro.
Điều hướng đến MyMacros> EnvironmentEvents.
Trong MyMacros, hãy thêm tham chiếu đến System.Windows.Forms (cho mã bên dưới để hiển thị cửa sổ bật lên).
Thêm mã này vào module 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
Khi bạn xây dựng hoặc xây dựng lại các giải pháp đầy đủ, ở cuối, xây dựng/xây dựng lại thời gian sẽ được in vào cửa sổ xây dựng đầu ra. Bạn có thể thay đổi các điều kiện trong IsBuild cho phù hợp với sở thích của bạn.
Nguồn
2010-01-21 19:01:49
Tôi cũng đã thêm mã này vào câu hỏi này: http://stackoverflow.com/questions/523220/awesome-visual-studio-macros Tôi hy vọng những người khác có macro hữu ích tương tự cũng sẽ thêm chúng vào đó. Trình soạn thảo Visual Studio Macro là rất mạnh mẽ, nhưng tôi đã không chạy trên một kho lưu trữ vĩ mô tốt bất cứ nơi nào. –
EDIT: Rất kỳ lạ, trên một trong các máy tính của tôi, sự kiện đã kết thúc xây dựng được bắt ... nhưng không vượt qua bài kiểm tra IsBuild, vì vậy chỉ cần trả về. Tôi sử dụng Visual Assist X trên máy tính không thể phát hiện sự kiện, nếu điều đó tạo ra sự khác biệt .. – levesque
Mở danh sách lỗi trong Macro IDE (Xem menu> Danh sách lỗi) và xem có lỗi nào được liệt kê không. Macro IDE là loại kỳ lạ về lỗi; khá thường xuyên nó sẽ không cung cấp cho bạn bất kỳ dấu hiệu nào họ tồn tại ngoài thực tế là các macro không hoạt động. Rất có thể bạn đang thiếu một câu lệnh Nhập khẩu hoặc một cái gì đó. –