浅析VisualStudio.NET插入日期功能

大家知道Visual Studio.NET吗?在这里给大家介绍创建一个简单插入日期的功能,准确的是在当前光标的位置或则当前选择文本的地方插入当前日期。这是Visual Studio.NET中已经包含了一个用宏实现此功能的例子。所以你可以看见通过宏和插件两种不同的方法实现同样的功能。

创新互联专注于企业成都全网营销推广、网站重做改版、淮上网站定制设计、自适应品牌网站建设、H5技术商城网站制作、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为淮上等各大城市提供网站开发制作服务。

#T#这个例子非常简单,只需要你修改一个在前面列出来的那个Exec函数。通过前面章节我已经创建了一个基本插件,这个插件的名字是“TextUtil”更加确切的说是“TextUtil.Connect.TextUtil”。在Exec函数中我替换了向导自动生成的代码。

 
 
  1. handled=true;

替换为

 
 
  1. handled=InsertDate();

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

 
 
  1. privateboolInsertData()
  2. {
  3. if(applicationObject.ActiveDocument!=null)
  4. ((TextSelection)applicationObject.ActiveDocument.Selection).Text
  5. =DateTime.Now.ToString("yyy-MM-dd");
  6. returntrue;
  7. }

InsertData函数使用了System.DateTime和Sytem.String对象。关于System.String的介绍可以参看帮助。在这里我注意到在OnConnection中关于CommandBars的三行代码,这三行代码是在以后运行的过程中要在工具菜单中建立菜单项。除了名称插件已经完成。按F5来试验插件。一个新的IDE实例运行,在这个实例中这个插件将出现在工具|外接程序管理对话框中。可以通过选中再外接程序管理对话框中最左面的复选框来加载插件。现在你可以打开任何一个文本文件,然后再VisualStudio.NET的命令窗口中输入“TextUtil.Command.TextUtil”在当前光标的位置将插入当前日期。事实上在你完成输入之前自动变异已经天填充了命令。

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

Visual Studio.NET改变命令名称

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

 
 
  1. Commandcommand=commands.AddNamedCommand(addInInstance,
  2. "InsertDate",
  3. "InsertCurrentDate",
  4. "InsertCurrentDate",
  5. true,59,refcontextGUIDS,
  6. (int)vsCommandStatus.vsCommandStatusSupported
  7. +(int)vsCommandStatus.vsCommandStatusEnabled);

在QuertyStatus中更改如下:

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

向导在初始运行加载之前应经注册了插件信息,但是名称的改变影响了注册信息。这就意味着在增加了插件功能的时候我们需要从新生成插件项目和安装项目。然后再运行安装程序。运行插件(原文:RunningtheMacro译者:可能是错误)
现在“TextUtil.Connect.InsertDate”命令可以按照我的想法工作了。但是,他是怎么工作的呢?让我们继续往下看。

网站题目:浅析VisualStudio.NET插入日期功能
网页网址:http://www.36103.cn/qtweb/news25/20325.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联