如何将附加工具 windows 添加到 Visual Studio 扩展?
How to add additional tool windows to a Visual Studio Extension?
创建扩展时 for Visual Studio 2013 默认设置一个工具 window。但是,我想要一个 second 工具 window,但看不出应该怎么做。
好吧,我刚刚发现了一些东西 - 所以我要回答我自己的问题,以便遇到同样问题的其他人可以利用它:
像 this tutorial 一样设置您的扩展程序,但检查“工具 Window”
为工具创建一个新的UserControlWindow“ToolWindow2Control”并复制粘贴[=40的内容=]ToolWindowControl.xaml & ToolWindowControl.xaml.cs相应
添加一个class“工具Window2”并复制粘贴[=111中的内容=]。将 GUID 更改为新的(工具->创建 GUID)
在NameOfYourProject.vsct中添加用于在View->Other Windows[中显示第二个条目的代码=77=] 通过复制 按钮部分 中的按钮。更改ButtonText、优先级、Button的id和Icon的id。
将按钮的 ID 添加到页面底部符号下的条目中。它应该是 guidNameOfYourProjectCmdSet.
下的第三个条目
打开PkgCmdID.cs(或PkgCmdIDList.cs)添加id按钮也在那里,例如
public const uint cmdidMyTool2 = 0x102;
向您的项目/资源添加另一个图标。然后在 NameOfYourProject.vsct 的位图部分添加另一个位图条目,其中包含您之前为图标提供的 GUID-id。像这样:
<Bitmap guid="guidImages2" href="Images\test.ico" usedList="testIcon"/>
并在 Symbols 部分创建另一个 GuidSymbol 条目,其中包含一个新的 GUID 和一个与您在 usedList 中使用的名称相同的 IDSymbol 条目,如下所示:
<GuidSymbol name="guidImages2" value="{7BC1F97F-2693-4186-91CC-A35AE95886CE}" >
<IDSymbol name="testIcon" value="1" />
</GuidSymbol>
将此行添加到 NameOfYourProjectPackage.cs:
[ProvideToolWindow(typeof(ToolWindow2))]
在 NameOfYourProjectPackage.cs 中,通过复制粘贴下面 // Create the command for the tool window
下的 3 行来编辑 Initialize 方法。在第一行中使用我们在第 6 步中提供的 ID (cmdidMyTool2)。在第 2 行中使用新的 MenuCommand 事件处理程序 ShowToolWindow2。并更改变量名称。
创建新方法 ShowToolWindow2。从 ShowToolWindow 方法中复制粘贴并将第一行中的 typeof 更改为 ToolWindow2
应该是这样。我希望我没有忘记任何事情。然后可以在Views->OtherWindows
下打开两个windows
我创建了一个指南:
HOWTO:在 Visual Studio 包中使用 ToolWindowPane class 创建工具窗口
http://www.visualstudioextensibility.com/2015/02/20/mz-tools-articles-series-howto-create-a-toolwindow-with-a-toolwindowpane-class-in-a-visual-studio-package/
创建扩展时 for Visual Studio 2013 默认设置一个工具 window。但是,我想要一个 second 工具 window,但看不出应该怎么做。
好吧,我刚刚发现了一些东西 - 所以我要回答我自己的问题,以便遇到同样问题的其他人可以利用它:
像 this tutorial 一样设置您的扩展程序,但检查“工具 Window”
为工具创建一个新的UserControlWindow“ToolWindow2Control”并复制粘贴[=40的内容=]ToolWindowControl.xaml & ToolWindowControl.xaml.cs相应
添加一个class“工具Window2”并复制粘贴[=111中的内容=]。将 GUID 更改为新的(工具->创建 GUID)
在NameOfYourProject.vsct中添加用于在View->Other Windows[中显示第二个条目的代码=77=] 通过复制 按钮部分 中的按钮。更改ButtonText、优先级、Button的id和Icon的id。
将按钮的 ID 添加到页面底部符号下的条目中。它应该是 guidNameOfYourProjectCmdSet.
下的第三个条目
打开PkgCmdID.cs(或PkgCmdIDList.cs)添加id按钮也在那里,例如
public const uint cmdidMyTool2 = 0x102;
向您的项目/资源添加另一个图标。然后在 NameOfYourProject.vsct 的位图部分添加另一个位图条目,其中包含您之前为图标提供的 GUID-id。像这样:
<Bitmap guid="guidImages2" href="Images\test.ico" usedList="testIcon"/>
并在 Symbols 部分创建另一个 GuidSymbol 条目,其中包含一个新的 GUID 和一个与您在 usedList 中使用的名称相同的 IDSymbol 条目,如下所示:
<GuidSymbol name="guidImages2" value="{7BC1F97F-2693-4186-91CC-A35AE95886CE}" > <IDSymbol name="testIcon" value="1" /> </GuidSymbol>
将此行添加到 NameOfYourProjectPackage.cs:
[ProvideToolWindow(typeof(ToolWindow2))]
在 NameOfYourProjectPackage.cs 中,通过复制粘贴下面
// Create the command for the tool window
下的 3 行来编辑 Initialize 方法。在第一行中使用我们在第 6 步中提供的 ID (cmdidMyTool2)。在第 2 行中使用新的 MenuCommand 事件处理程序 ShowToolWindow2。并更改变量名称。创建新方法 ShowToolWindow2。从 ShowToolWindow 方法中复制粘贴并将第一行中的 typeof 更改为 ToolWindow2
应该是这样。我希望我没有忘记任何事情。然后可以在Views->OtherWindows
下打开两个windows我创建了一个指南:
HOWTO:在 Visual Studio 包中使用 ToolWindowPane class 创建工具窗口 http://www.visualstudioextensibility.com/2015/02/20/mz-tools-articles-series-howto-create-a-toolwindow-with-a-toolwindowpane-class-in-a-visual-studio-package/