在Visual Studio.NET中使用自定义插件最大化您的生产力(二)Custom Add-Ins Help You Maximize the Productivity of Visual Studio .NET

原创 2004年04月22日 14:41:00

一个简单的编辑功能:插入日期<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

我创建了一个简单插入日期的功能,确切的功能是:在当前光标的位置或则当前选择文本的地方插入当前日期。这是Visual Studio .NET中已经包含了一个用宏实现此功能的例子。所以你可以看见通过宏和插件两种不同的方法实现同样的功能。这个例子非常简单,只需要你修改一个在前面列出来的那个Exec函数。通过前面章节我已经创建了一个基本插件,这个插件的名字是“TextUtil”更加确切的说是“TextUtil.Connect.TextUtil”。在Exec函数中我替换了向导自动生成的代码。

handled = true;

替换为

handled = InsertDate();

增加如下InsertData()函数,可以在Connect对象中的任何地方增加该函数。

private bool InsertData()

{

    if(applicationObject.ActiveDocument!= null)

            ((TextSelection)applicationObject.ActiveDocument.Selection).Text

                    =DateTime.Now.ToString("yyy-MM-dd");

    return true;

}

InsertData函数使用了System.DateTimeSytem.String对象。关于System.String的介绍可以参看帮助。在这里我注意到在OnConnection中关于CommandBars的三行代码,这三行代码是在以后运行的过程中要在工具菜单中建立菜单项。

除了名称插件已经完成。按F5来试验插件。一个新的IDE实例运行,在这个实例中这个插件将出现在工具|外接程序管理对话框中。可以通过选中再外接程序管理对话框中最左面的复选框来加载插件。现在你可以打开任何一个文本文件,然后再Visual Studio .NET的命令窗口中输入“TextUtil.Command.TextUtil”在当前光标的位置将插入当前日期。事实上在你完成输入之前自动变异已经天填充了命令。

当你按下F5开始运行一个IDE新的实例的时候,你的插件是在调试模式下。我们可以在调试模式下发现所有异常的信息。在普通的操作中出现了任何的异常,他们都可能不可用。尽可能的得到异常的信息,那么错误的原因就会尽早的发现。

改变命令名称

向导已经为菜单命令指定了默认的名字(TextUtil)。因此这个名字是不具有特色描述的,我一会会增加更多的菜单命令、改变菜单命令名称。同时,因为我在改变命令名称的时候遇到过名称混乱的情况,所以我们必须确认我们的插件不会有相同的命令名称。

第一个改变是在OnConnection函数中调用AddNameCommand之处

Command command = commands.AddNamedCommand(addInInstance,

                                                   "InsertDate",

                                               "Insert Current Date",

                                               "Insert Current Date",

                                               true, 59, ref contextGUIDS,

(int)vsCommandStatus.vsCommandStatusSupported

+(int)vsCommandStatus.vsCommandStatusEnabled);

 

QuertyStatus中更改如下:

if(commandName.ToLower() == "textutil.connect.insertdate")

向导在初始运行加载之前应经注册了插件信息,但是名称的改变影响了注册信息。这就意味着在增加了插件功能的时候我们需要从新生成插件项目和安装项目。然后再运行安装程序。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

3 运行插件(原文:Running the Macro 译者:可能是错误)

现在“TextUtil.Connect.InsertDate”命令可以按照我的想法工作了(图3)。但是,他是怎么工作的呢?让我们继续往下看。

在Visual Studio.NET中使用自定义插件最大化您的生产力(三)Custom Add-Ins Help You Maximize the Productivity of Visual Studio .NET

插件是怎么工作的?在前面章节中给你们演示的InsertDate代码是相当简单的,而且自动完成功能让人感觉不可思议。我将从对象浏览器开始(Object Browser)开始,因为他能够非常容易的让我们学...
  • Essence_zhx
  • Essence_zhx
  • 2004年04月22日 14:41
  • 896

在Visual Studio.NET中使用自定义插件最大化您的生产力(一)Custom Add-Ins Help You Maximize the Productivity of Visual Studio .NET

在Visual Studio.NET中使用自定义插件最大化您的生产力原文连接:http://msdn.microsoft.com/msdnmag/issues/02/02/VSIDE/print.as...
  • Essence_zhx
  • Essence_zhx
  • 2004年04月22日 14:41
  • 1089

Visual Studio .Net 2008下载!!!!!!.........................................置顶推荐

微软已开始发放Visual Studio 2008  ,更新的速度真是快呀!地址为:http://msdn2.microsoft.com/zh-cn/downloads/aa700831.aspxGe...
  • aohan
  • aohan
  • 2007年07月13日 15:04
  • 16794

浅谈Visual Studio.NET的学习

利用Visual Studio.NET,可以快速、高效地进行Windows Form和Web Form的应用开发。.NET是一个全新的概念,.NET代表了一个集合、一个环境、一个编程的基本结构,作为一...
  • fengqingtao2008
  • fengqingtao2008
  • 2009年09月22日 10:06
  • 594

Visual studio.net 和 .Net FrameWork 区别

  1.区别:      a.           1.Visual studio.net是一个开发工具,它有2003,2005,2008等版本。           2..Net FrameWork...
  • renpinghao
  • renpinghao
  • 2010年02月26日 19:07
  • 1469

安装 VisualStudio.NET 系统遇到的问题

当您尝试安装 MicrosoftVisualStudio.NET 或 Microsoft Visual Studio 2005, 可能会收到以下错误信息:安装程序检测该程序需要重新启动计算机。 安装 ...
  • xjkiller
  • xjkiller
  • 2007年04月23日 14:48
  • 438

Visual Studio.NET 2005下载

cs_vs_2005_pro_dvd.iso.torrent Visual Studio 2005 Professional Edition - DVD - (Simplified Chinese) ...
  • senbar
  • senbar
  • 2006年03月06日 17:00
  • 13432

Visual Studio.net 配套开发工具

CollabNet 我们使客户能够高效地管理生命周期、开发流程、位置分散的团队以及项目。我们以基于 Codesion™ 宿主平台的云和内部部署版本的形式提供了简约易用型平台,帮助 7,000 多家客...
  • chengly0129
  • chengly0129
  • 2013年07月19日 12:23
  • 1545

Visual Studio .NET 2003开发环境

昨天到今天搞了一整天,把人都要差点搞崩了! ,以后再也不能乱关机了,因为这次的大意,几乎所有的Net安装,调试问题都被我碰到了,还好,我一个个把他记录下来了,同时,在CSDN找了一些相关的解决方法,不...
  • msdnlu
  • msdnlu
  • 2007年07月12日 09:17
  • 1169

VS插件 Productivity Power Tools 动画演示

Productivity Power Tools 是微软官方推出的 Visual Studio 扩展,被用以提高开发人员生产率。它的出现一定程度上弥补和完善了 Visual Studio 自身的不足,...
  • aoshilang2249
  • aoshilang2249
  • 2015年07月18日 20:44
  • 1521
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Visual Studio.NET中使用自定义插件最大化您的生产力(二)Custom Add-Ins Help You Maximize the Productivity of Visual Studio .NET
举报原因:
原因补充:

(最多只允许输入30个字)