返回首页


{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 - 第一版。

回答

评论会员:xibeifeijian 时间:2011/12/07
?如何CHAGE在VS.NET的菜单默认ICO
谢谢!{S2}

#9618#9618#12307#9618#12307#9618#9618;
#9618#12307#12307#12307#12307#12307#9618;
#9618#9618#12307#9618#12307#9618#9618;
#9618#12307#12307#12307#12307#12307#9618;
#9618#9618#12307#9618#12307#9618#9618;
评论会员:eisernWolf 时间:2011/12/07
reproduct从微软MSDN和官方电子guidlines意义?而且没有详细说明有关设置工具窗口的图片和其他道具...这一切都可以找到LineCounter的AddIn文章(上codeproject.com)。看不出有任何理由再一次重复这个信息。
评论会员:中号哈里斯 时间:2011/12/07
我的目标是创建一个易于执行的指南,以创建一个Visual Studio工具窗口。有没有其他文章纯粹在此网站上执行这样的任务。

MSDN文档不演示了如何创建菜单项显示工具窗口 - 如何使其应用程序启动时加载。他们的方式是不适合许多用户。

本文是专为初学者正在寻找一种简单,consise的方式来获得他们的工具窗口插件发生。

-
真正的程序员不评论他们的代码。这是很难写,应该不难理解{BR​​}
评论会员:。redjoy 时间:2011/12/07
eisernWolf写道:... ...这一切都可以找到LineCounter的AddIn文章(上codeproject.com)

这本来是包括一个活链接的文章,而不是仅仅提的是,一篇文章在CP存在于某个地方。

位置:{A}

这里:

迈克尔
如果我们知道它是什么,我们正在做的,它不会被所谓的研究,不是吗? - 爱因斯坦
评论会员:M哈里斯 时间:2011/12/07
现在阅读的文章,我可以看到,他不盖创造他的工具窗口。不过,如果我是如何创建工具窗口的文章,我可能会略过,说实话。

-
真正的程序员不评论他们的代码。这是很难写,它应该是不难理解{BR​​}
评论会员:。shooterlily 时间:2011/12/07
我与你。
评论会员:junlidk 时间:2011/12/07
我同意。你的文章帮我把我在项目中创建的第一个添加。这是非常有益的。谢谢。
评论会员:马克克利夫顿 时间:2011/12/07
我想我不同意你的位置,语音

eisernWolf写道:意义reproduct从微软MSDN和官方电子guidlines?

当与一个单一主体以简洁,易读的方式处理,是的。更多的信息通常是更好的。

eisernWolf写道:这一切都可以找到LineCounter的AddIn文章

如果我是如何做一个工具,你想我谷歌"LineCounter"?你认为韦德,我想通过一些代码,只有上帝知道其实我想要什么?

eisernWolf写道:"看不出有任何理由再次重复这个信息。

我。
简洁,点,并没有得到,我不想纠缠与一些应用程序。
马克
在CountryPeople百里香是出了名的不可能。 - DavidCrow
没有任何借口不评论你的代码。 - 约翰西蒙斯/取缔程序员
的人说,他们将重构自己的代码后,使"好"的不理解重构,也不是艺术和工艺编程。 - 乔什 - 史密斯
评论会员:eisernWolf 时间:2011/12/07
本网站搜索"工具窗口与2005年"。报告结果。
评论会员:xibeifeijian 时间:2011/12/07
本文为me.I只需搜索"在工具窗口中添加",在这个网站,并发现这是非常有用的,P,P,P