打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VS2010 Addins 外接程序(插件)开发

简单做了一个添加文件头注视的插件,算作是学习。

 

首先看一下界面

外接程序是在 Visual Studio 集成开发环境 (IDE) 中运行的已编译的 DLL。 编译可以保护知识产权和提高性能。 虽然可以手动创建外接程序,但使用“外接程序向导”更为简便。 此向导创建一个功能全面但却很基本的外接程序,创建完该程序后可立即运行它。 “外接程序向导”生成基本的空程序后,可向其添加代码并对其进行自定义。

“外接程序向导”让您可以为外接程序提供显示名称和说明。 这两项内容都将出现在“外接程序管理器”中。 还可以选择让向导生成代码,用于向“工具”菜单中添加可打开外接程序的命令。您也可以选择为外接程序显示一个自定义“关于”对话框。 向导完成时,将生成只有一个类的新项目(名为 Connect),该项目实现外接程序。

第一步 创建解决方案

  这里使用的是VS2010 、C#、WinForm

  文件→新建→项目→其他项目类型→扩展性→Visual Studio 外接程序,修改名称、位置、解决方案名称等信息,点击确定

 

第二步 根据外接程序想道创建项目

  当然,你如果已经是高手了,可以不用使用向导创建 项目。

  如图

  下一步,选择使用C#创建外接程序

  下一步,选择使用应用程序主机,有两个选项,Microsoft Visual Studio 2010 和Microsoft Visual Studio 2010 Macros(宏),两个都勾选

  下一步,填写外界程序名称和说明

  下一步,在选择外接程序选项中,在“是否为外接程序创建命令栏用户界面?”中勾选“是的,创建工具菜单项“,向导会为你在工具菜单中创建一个菜单

  下一步,关于信息,根据需要勾选是否生成关于对话框

  下一步,完成

  这样系统向导就为你创建了一个项目,并且生成了一个Connect类,实现IDTExtensibility2和IDTCommandTarget接口

第三步 创建一个窗口

  在项目上,右键,添加一个WinForm窗口,我在这里命名为MainForm

第四步 在MainForm类中添加application对象  

/// <summary>        /// application对象        /// </summary>        private DTE2 _applicationObject;        /// <summary>        ///         /// </summary>        public DTE2 applicationObject         {            get { return _applicationObject; }            set { this._applicationObject = value; }        }

 

  

第五步 显示这个创建的窗口

  在Connect类中找到public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)这个方法  

  

/// <summary>实现 IDTCommandTarget 接口的 Exec 方法。此方法在调用该命令时调用。</summary>        /// <param term='commandName'>要执行的命令的名称。</param>        /// <param term='executeOption'>描述该命令应如何运行。</param>        /// <param term='varIn'>从调用方传递到命令处理程序的参数。</param>        /// <param term='varOut'>从命令处理程序传递到调用方的参数。</param>        /// <param term='handled'>通知调用方此命令是否已被处理。</param>        /// <seealso class='Exec' />        public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)        {            handled = false;            if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)            {                if(commandName == "MyHeadeAddin.Connect.MyHeadeAddin")                {                    //此处添加自己的逻辑代码                    MainForm mainF = new MainForm();                    mainF.applicationObject = _applicationObject;                    mainF.Show();                    handled = true;                    return;                }            }        }

 

第六步 运行调试

  运行后会打开一个新的VS2010,在工具菜单中会多出一个我们自己外接程序的菜单

  

  点击这个按钮,我们创建的窗口就会弹出来了!

  

 

  至于其他操作,就可以在这个MainForm的基础上进行了。

  对VS2010 IDE的一些操作主要围绕DTE2的applicationObject实例对象来进行。

   DTE2的命名空间是EnvDTE80。

 

  

 

  关于EnvDTE的说明,在微软的technet上有说明: http://technet.microsoft.com/zh-cn/envdte(it-it).aspx

 

  
 
  EnvDTE 是包含 Visual Studio 内核自动化的对象和成员的用程序集包装的 COM 库。 
 

  在 EnvDTE80、EnvDTE90、 EnvDTE90a 和 EnvDTE100 命名空间中包含更改和新功能。添加对 EnvDTE.dll 的程序集引用时,您还必须将程序集的 “嵌入互操作类型”属性设置为 false。

 

最后,如果要在其他计算机上使用,只需要将.AddIn和生成的.dll文件放到 文档目录下的\Visual Studio 2010\Addins\目录中即可,如图:

  第一次接触插件开发,还是从我的一个师哥那接触的。

  插件下载地址:http://files.cnblogs.com/zsmhhfy/HeadAddins.rar

  另外参考:http://technet.microsoft.com/zh-cn/magazine/80493a3w.aspx

  欢迎转载,但请说明出处http://www.cnblogs.com/zsmhhfy/archive/2013/03/21/2973051.html

 

标签: C#, .Net
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Visual Studio 2005 插件编程(代码行数统计插件)之一
HOWTO:使用VisualC#.NET生成OfficeCOM外接程序
VS2008 AddIn 开发 – WorkspaceAddIn 实例(支持VS2010)...
win10系统下Microsoft Office Word已停止工作如何解决
浅谈Excel开发:九 Excel 开发中遇到的常见问题及解决方法
Visual Studio 2005 插件编程(代码行数统计插件)之一
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服