如何默认按Build Order对Visual Studio的构建输出进行排序?

eck*_*kes 7 trace visual-studio-2005 build visual-studio output

我知道我可以整理我的多核编译输出使用建立在Visual Studio 构建顺序在该项目的输出窗口(如描述在这里).

但是一旦我完成并F7重新点击,该选项将切换回Build,我必须再次切换回Build Order.

有没有办法在" 输出"窗口中将" 构建顺序 "设置为默认设置?

搜索了一下,告诉我这个问题曾多次被问过但从未回答:


编辑:Simon给出
答案对我有用(或者至少它指向了正确的方向),但我不能简单地复制他的代码并将其插入我的项目中.相反,我必须完全按照此处所述为构建事件创建处理程序:MyMacros

  1. 在" 类视图"资源管理器窗格的"宏"IDE中,双击" EnvironmentEvents"节点,将其显示为" 环境事件"选项卡和宏编辑器窗格中的下拉菜单.

  2. EnvironmentEvents下拉菜单中,选择一个事件类型,例如TaskListEvents.该声明组合框现在填充了可用的任务列表事件.

  3. 在" 声明"下拉菜单中,选择一个事件(如TaskAdded)以将其事件过程添加到模块.

该事件将插入到您的宏中,您现在可以将代码添加到事件过程中.

否则,根本不调用事件处理程序.

Sim*_*ier 3

您可以编写一个 Visual Studio 宏,如下所示:

Dim WithEvents MyBuildEvents as BuildEvents

Private Sub BuildEvents_OnBuildBegin(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles MyBuildEvents.OnBuildBegin
    OpenBuildOrderOutputPane()
End Sub

Private Sub OpenBuildOrderOutputPane()
    Dim window As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput) ' Get Output Window
    Dim output As OutputWindow = CType(window.Object, OutputWindow)
    For Each pane As OutputWindowPane In output.OutputWindowPanes ' Browse panes
        If (pane.Guid = "{2032B126-7C8D-48AD-8026-0E0348004FC0}") Then ' Build Order guid
            pane.Activate()
        End If
    Next
    window.Activate()
End Sub
Run Code Online (Sandbox Code Playgroud)

您需要将此代码粘贴到 MyMacros、EnvironmentEvents 模块中。