如何向Visual Studio扩展添加其他工具窗口?
为Visual Studio 2013创建扩展时,默认情况下会设置工具窗口。 但是,我想有一个第二个工具窗口,看不出应该怎么做。
我刚刚找到了一些东西 – 所以我要回答我自己的问题,以便其他有相同问题的人可以利用它:
-
按照本教程设置扩展,但选中“ 工具窗口 ”
-
为ToolWindow“ ToolWindow2Control ”创建一个新的UserControl,并相应地粘贴ToolWindowControl.xaml和ToolWindowControl.xaml.cs的内容
-
添加一个类“ ToolWindow2 ”并复制粘贴ToolWindow.cs中的内容。 将GUID更改为新GUID(工具 – >创建GUID)
-
在NameOfYourProject.vsct中,通过复制Buttons部分中的Button,添加用于在View-> Other Windows中显示第二个条目的代码。 更改ButtonText,优先级,Button的id和Icon的id。
-
将Button的id添加到页面底部的Symbols下的条目中。 它应该是guidNameOfYourProjectCmdSet下的第三个条目。
-
打开PkgCmdID.cs (或PkgCmdIDList.cs )并在那里添加Button的id,例如
public const uint cmdidMyTool2 = 0x102;
-
在项目/资源中添加另一个图标。 然后在NameOfYourProject.vsct的位图部分中添加另一个Bitmap条目, 其中包含您之前为Icon提供的GUID-id。 像这样:
并在Symbols部分创建另一个GuidSymbol条目,其中包含一个新GUID和一个IDSymbol条目,该条目与您在usedList中使用的条目具有相同的名称,如下所示:
-
将此行添加到NameOfYourProjectPackage.cs :
[ProvideToolWindow(typeof(ToolWindow2))]
-
在NameOfYourProjectPackage.cs中 ,通过复制粘贴
// Create the command for the tool window
下方// Create the command for the tool window
下的3行来编辑Initialize方法。 在第一行中使用我们在步骤#6中给出的id( cmdidMyTool2 )。 在第二行中使用新的MenuCommand事件处理程序ShowToolWindow2 。 并更改变量名称。 -
创建一个新方法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-视觉工作室封装/