编写VS IDE 插件

问题出处
Q:http://community.csdn.net/Expert/topic/4021/4021389.xml?temp=.7616388

A:步骤:
1:启动vs.net Development Environment
2:在文件菜单中选择新建菜单下的子菜单项目(文件/新建/项目)
3:在弹出的窗体中,项目类别选择 其他项目/扩展性项目
   在模板中选择 Visual Studio .NET外接程序,选择程序的
   名称和位置, 文件名称默认, -->确定

4:在弹出的 扩展性向导窗体中点下一步按纽


5:在弹出来的 选择编程语言 窗体中选择 "使用Visual C#创建程序"
   点下一步按纽

6:在弹出来的 选择应用程序主机 窗体中将Microsoft VSMacros IDE
   和Microsoft Visual Studio .NET 都选择,点下一步按纽
7:在弹出来的 输入名称和说明 窗体中输入外接程序的名称和说明
   比如输入的都是 测试插入数据. 点下一步按纽

8:在弹出来的 选择外接程序选项 窗体中, 选择 加载外接程序时
   可进行微调 下的 我希望我的外接程序在宿主应用程序启动是加载 那个
   选项。选择 是否为用户创建用户界面,以便与外接程序进行交互? 这个
   选项 点下一步按纽

9:在弹出的 选择帮助中的关于信息 窗体中直接点下一步按纽
10:在弹出的 摘要 窗体中点 完成 按纽。
11:在InsertStr项目中 打开Connect.cs文件,在其中添加如下内容:
 
void NewLine()
        
{
            ((TextSelection)applicationObject.ActiveDocument.Selection).NewLine(
1);
        }


        
public bool InsertStr()
        
{
            
if(applicationObject.ActiveDocument != null)
            
{
                
string [] strOut=new string[]{   @"/// <summary>",
                                                 
@"/// 这是一段注释由外部插件生成",
                                                 
@"/// 作者:登峰","/// 日期:{0}",
                                                 
@"/// MSN: SuperCode@hotmail.com",
                                                 
@"/// </summary>"}
;    
 
             
                
foreach(string str in strOut)
                
{
                    
                    ((TextSelection)applicationObject.ActiveDocument.Selection).Text 
=string.Format(str,System.DateTime.Now.ToString("yyyy-mm-dd")); 
                    NewLine();

                }


         

            }


            
return true;
        }

12:修改函数Exec,
    将其中的handled = true;
    修改为handled = InsertStr();
13:编译项目,编译成功后在项目上右键,
    在弹出的菜单中选择 安装,安装该插件

14:打开一个新的vs.net IDE,在其中打开一个文本文件,在工具菜单中

    可以看到一个新菜单 MyAddin1,


点击它在当前文本中就会添加文本
 

当然您可以对插入的内容进行扩展和修改
原文地址:https://www.cnblogs.com/supercode/p/175730.html