7

我知道我可以使用“输出”窗口中的“构建顺序”项在Visual Studio 中对多核构建的构建输出进行排序(如此所述)。

但是一旦我这样做并F7再次点击,选项就会切换回Build,我必须再次切换回Build Order

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

搜索一下,我发现这个问题被问了好几次,但从未回答:


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

  1. Class View explorer 窗格的 Macros IDE 中,双击EnvironmentEvents节点以将其显示为EnvironmentEvents选项卡和宏编辑器窗格上的下拉菜单。

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

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

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

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

4

1 回答 1

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

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

于 2013-01-17T10:55:18.297 回答