问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何开发插件实现vs快速生成构造函数

发布网友 发布时间:2022-05-04 08:02

我来回答

1个回答

热心网友 时间:2022-06-20 19:00

用Visual Studio 2012创建名为MyVisualStudioAddin的项目(根据向导进行设置,这里不赘述),界面如下:

   核心 Connect 类
  插件入口就是Connect 类,先看一下Connect的类图:

  Connect 实现外接程序对象的构造函数。请将您的初始化代码置于此方法内。
  OnConnection 实现 IDTExtensibility2 接口的 OnConnection 方法。接收正在加载外接程序的通知。
  OnDisconnection 实现 IDTExtensibility2 接口的 OnDisconnection 方法。接收正在卸载外接程序的通知。
  OnAddInsUpdate 实现 IDTExtensibility2 接口的 OnAddInsUpdate 方法。当外接程序集合已发生更改时接收通知。
  OnStartupComplete 实现 IDTExtensibility2 接口的 OnStartupComplete 方法。接收宿主应用程序已完成加载的通知。
  OnBeginShutdown 实现 IDTExtensibility2 接口的 OnBeginShutdown 方法。接收正在卸载宿主应用程序的通知。
  QueryStatus 实现 IDTCommandTarget 接口的 QueryStatus 方法。此方法在更新该命令的可用性时调用。
  Exec 实现 IDTCommandTarget 接口的 Exec 方法。此方法在调用该命令时调用。
  _applicationObject 是DTE2实例,是宿主应用程序的根对象。
  _addInInstance是当前插件实例,表示此外接程序的对象。
  首先定义一些内部的对象,主要是自定义的命令,如下所示:
  1 /// <summary>用于实现外接程序的对象。</summary>
2 /// <seealso class='IDTExtensibility2' />
3 public class Connect : IDTExtensibility2, IDTCommandTarget
4 {
5 #region 命令定义 除了FindInSolutionExplorer外,此处的命令不是根据功能来命令的,而是根据命令所出现的位置来命令的
6 private readonly string MY_COMMAND_FindInSolutionExplorer = "FindInSolutionExplorer";
7 private readonly string MY_COMMAND_Project = "cmdInProject";//在项目上
8 private readonly string MY_COMMAND_Solution = "cmdInSolution";//在解决方案上
9 private readonly string MY_COMMAND_MenuBar = "cmdInMenuBar";//在菜单栏上
10 private readonly string MY_COMMAND_CodeWindow = "cmdInCodeWindow";//代码窗口
11 private readonly string MY_COMMAND_Files = "cmdInFiles";
12 #endregion
13
14 private Command findCommand = null;
15 private CommandBarButton findCommandBarButtonButton = null;
16 private AddInLogger logger = null;
17
18 private DTE2 _applicationObject;
19 private EnvDTE.AddIn _addInInstance;
20      ......
21 }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
万能粉碎机清洁规程 中药粉碎机如何清洗比较好 磨粉机能用水洗吗 正确的家用粉碎机清洗方法 粉碎机清洗不干净粉碎机怎么清洗才干净 励志语句长句精选123句 caxa如何保存图幅模板 美迪特MDT-IN158重要参数 打玻尿酸已一个月眼睛疼,会不会打玻尿酸一个月,突然眼睛疼会不会... 玻尿酸失明概率真的小吗-玻尿酸失明有光感还能恢复吗 陈华军人物简介 uml图中怎样表示构造函数 黑龙江鹤岗公*,面试辅导班,谁家的靠谱?名次比较靠后,想找个好点的辅导班,在鹤岗,求介绍。 黑龙江伊春市有没有那种暑期的公务员辅导班啊 黑龙江近期有针对公务员省考的辅导班吗? 期货k线一天出几根蜡烛? 如何锻炼自己的腰部线条,才能够更好看呢? 淋浴器出水不热:厨房用的热水烫手,淋浴用的水是温热的,调到最大也没用。什么原因? 自吸式洗澡器,为什么有时花洒出水不热? 温度打在60度,为什么淋浴花洒大花洒出水不热,小花洒出水反而是热的,这是什么原因。 请问:我家用的益高卫浴的花洒,一直是用顶喷洗澡,但是最近这段时间顶喷花洒洗澡时水温不热,后来看热水_百度问一问 梦见儿子从楼上掉下去了,吓死我了。 梦见儿子在楼上掉下后无踪无影 手机浏览器支持flash的有哪些? 给好评 梦见儿子从4楼掉下去了,摔得满地血,然后我送他去医院? oracle数据库的view中能添加数据吗? 利息所得、租金所得、特许权使用费所得,按照负担或者支付所得的企业或者机构、场所所在地确定。怎么理解 拆迁补偿有哪些? 如何做到尽力使顾客对一切满意? 开便利店要办理证件吗 田租给人家种植但对方拿去填小石头做路我可以解除合同吗 输入一条线段(两个点),计算线段的长度。 一条线有两个点组成。按以下UML类图完成程序C++程序设计 求c++大神 ···真心不会·感激不尽啊 写给大家看的面向对象编程书的章节目录 C++对象继承和虚函数编程 C#类库继承层次结构 uml类图要画析构函数吗 - 信息提示 renol 什么意思? 退出OPPO账号? 我想起个英文名字叫雷诺,请问是Reynold还是renault呢,在谷歌上查都有雷诺的意思 oracle的view和table有什么不同,什么情况下用view,有什么好处 什么是植物整形素? 肾上腺是什么组织? 去甲肾上腺素是什么药物 肾上腺的去甲肾上腺素 请问 这种植物学名是什么 人体的肾上腺是起什么作用的 英文药名:premaston allylesprenol 麻烦大家帮忙译下,谢谢! 什么激素可加快肌肉生长 冬瓜仁的药理作用