如何向Visual Studio扩展添加其他工具窗口?

为Visual Studio 2013创建扩展时,默认情况下会设置工具窗口。 但是,我想有一个第二个工具窗口,看不出应该怎么做。

我刚刚找到了一些东西 – 所以我要回答我自己的问题,以便其他有相同问题的人可以利用它:

  1. 按照本教程设置扩展,但选中“ 工具窗口

  2. 为ToolWindow“ ToolWindow2Control ”创建一个新的UserControl,并相应地粘贴ToolWindowControl.xamlToolWindowControl.xaml.cs的内容

  3. 添加一个类“ ToolWindow2 ”并复制粘贴ToolWindow.cs中的内容。 将GUID更改为新GUID(工具 – >创建GUID)

  4. NameOfYourProject.vsct中,通过复制Buttons部分中的Button,添加用于在View-> Other Windows中显示第二个条目的代码。 更改ButtonText,优先级,Button的id和Icon的id。

  5. 将Button的id添加到页面底部的Symbols下的条目中。 它应该是guidNameOfYourProjectCmdSet下的第三个条目。

  6. 打开PkgCmdID.cs (或PkgCmdIDList.cs )并在那里添加Button的id,例如
    public const uint cmdidMyTool2 = 0x102;

  7. 在项目/资源中添加另一个图标。 然后在NameOfYourProject.vsct的位图部分中添加另一个Bitmap条目, 其中包含您之前为Icon提供的GUID-id。 像这样:

    并在Symbols部分创建另一个GuidSymbol条目,其中包含一个新GUID和一个IDSymbol条目,该条目与您在usedList中使用的条目具有相同的名称,如下所示:

  8. 将此行添加到NameOfYourProjectPackage.cs
    [ProvideToolWindow(typeof(ToolWindow2))]

  9. NameOfYourProjectPackage.cs中 ,通过复制粘贴// Create the command for the tool window下方// Create the command for the tool window下的3行编辑Initialize方法。 在第一行中使用我们在步骤#6中给出的id( cmdidMyTool2 )。 在第二行中使用新的MenuCommand事件处理程序ShowToolWindow2 。 并更改变量名称。

  10. 创建一个新方法ShowToolWindow2 。 从ShowToolWindow方法复制粘贴并将第一行中的typeof更改为ToolWindow2

这应该是它。 我希望我没有忘记任何事情。 然后,您可以在Views-> Other Windows下打开两个窗口

我创建了一个指南:

HOWTO:在Visual Studio包中创建一个带有ToolWindowPane类的工具窗口http://www.visualstudioextensibility.com/2015/02/20/mz-tools-articles-series-howto-create-a-toolwindow-with-a- toolwindowpane级-IN-A-视觉工作室封装/