{S0}简介
这篇文章的目的是向您展示如何创建一个Visual Studio。NET 2005中附加。此加载项将包含在视图菜单下的一个工具窗口,菜单项,以显示该工具窗口。如果窗口被关闭,该菜单项可以用来再次显示。创建项目
首先,创建一个新的的扩展项目,与Visual Studio添加型。这将显示虽然项目创建向导来指导你。在向导中,您将需要选择以下选项:编程语言:C#
一个工具菜单项将被创建。加载项将加载,只有当用户选择添加在管理器对话框内的负载复选框。
主要向导页第4页,在这里你可以选择创建工具菜单项。添加一个工具窗口控制
工具窗口是一个用户控件ActiveX容器内举行,因此,继续前进,到项目中添加一个新用户的控制。煤矿是所谓ToolWindowControl,上有一个单一的按钮。如你所愿,可以使复杂的控制,但是,记住,房地产耗用。
要获得IDE的quot; objectquot;你的控制,创建一个类型EnvDTE80.DTE2控制称为applicationObject的私有字段。然后,创建一个获取/设置属性,这一领域的最快的方法是右键单击字段,"重构"菜单下,单击"封装字段,然后单击"确定"。当窗口被初始化,您将设置此属性。添加修改工具窗口
几乎所有的其他工具窗口在IDE中打开通过"视图"菜单上。向导生成的代码将放在"工具"菜单上,为我们的项目,我们需要改变它的位置。在Connect.cs,你会发现,创建菜单项,并处理它的代码。
OnConnection方法包含代码生成菜单项。将它移动到"视图"菜单上,只需通过这种方法,并取代任何quot; Toolsquot;你发现与quot; Viewquot;所有的重要比赛,应在第一个try / catch块。你的代码应该是这样的:try
{
ResourceManager resourceManager =
new ResourceManager("ToolWindowArticle.CommandBar",
Assembly.GetExecutingAssembly());
CultureInfo cultureInfo = new
System.Globalization.CultureInfo(_applicationObject.LocaleID);
string resourceName = String.Concat(cultureInfo.TwoLetterISOLanguageName,
"View");
toolsMenuName = resourceManager.GetString(resourceName);
}
catch
{
toolsMenuName = "View";
}
我删除了向导生成的意见,以保持代码的短。
接下来,两个私有字段应创建内部类持有的窗口和控制。我的是如下:{C}
作为工具窗口不会被创建后才加载的IDE,代码应菜单项生成的代码作为同一节内居住。 OnConnect方法,添加一个else if语句的条件:connectMode == ext_ConnectMode.ext_cm_AfterStartup。这种情况,启动后执行的代码只得到确保。如果您复制并粘贴以下代码,您将需要更新到你的变量和一个新的GUID。此代码创建窗口,并设置控制ApplicationObject属性。
获取菜单项显示在工具窗口else if (connectMode == ext_ConnectMode.ext_cm_AfterStartup)
{
#region Load Tool Window
object programmableObject = null;
string guidString = "{9FFC9D9B-1F39-4763-A2AF-66AED06C799E}";
Windows2 windows2 = (Windows2)_applicationObject.Windows;
Assembly asm = Assembly.GetExecutingAssembly();
toolWindow = windows2.CreateToolWindow2(_addInInstance, asm.Location,
"ToolWindowArticle.ToolWindowControl",
"Pirate Window", guidString, ref programmableObject);
toolWindow.Visible = true;
toolWindowControl = (ToolWindowControl)toolWindow.Object;
toolWindowControl.ApplicationObject = _applicationObject;
#endregion
}
窗口将显示项时被加载,但是,有没有办法重新显示窗口后,它已关闭。首先点击菜单上的项目加载添加;然而,再点击不会使其再次显示。 Exec方法快速除再次显示每个菜单项被点击时。根据声明,如果您的CommandName,添加以下。
结论toolWindow.Visible = true;
这篇文章希望帮助您创建一个Visual Studio外接显示一个工具窗口,是能够与IDE交互。您创建视图"菜单上的项目应重新显示窗口,如果它被封闭。历史
17/02/2007 - 第一版。