偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺析Visual Studio.NET插入日期功能

開(kāi)發(fā) 后端
這里介紹Visual Studio.NET中包含一個(gè)用宏實(shí)現(xiàn)此功能的例子,你可以看見(jiàn)通過(guò)宏和插件兩種不同的方法實(shí)現(xiàn)同樣的功能。

大家知道Visual Studio.NET嗎?在這里給大家介紹創(chuàng)建一個(gè)簡(jiǎn)單插入日期的功能,準(zhǔn)確的是在當(dāng)前光標(biāo)的位置或則當(dāng)前選擇文本的地方插入當(dāng)前日期。這是Visual Studio.NET中已經(jīng)包含了一個(gè)用宏實(shí)現(xiàn)此功能的例子。所以你可以看見(jiàn)通過(guò)宏和插件兩種不同的方法實(shí)現(xiàn)同樣的功能。

#T#這個(gè)例子非常簡(jiǎn)單,只需要你修改一個(gè)在前面列出來(lái)的那個(gè)Exec函數(shù)。通過(guò)前面章節(jié)我已經(jīng)創(chuàng)建了一個(gè)基本插件,這個(gè)插件的名字是“TextUtil”更加確切的說(shuō)是“TextUtil.Connect.TextUtil”。在Exec函數(shù)中我替換了向?qū)ё詣?dòng)生成的代碼。

  1. handled=true

替換為

  1. handled=InsertDate(); 

增加如下InsertData()函數(shù),可以在Connect對(duì)象中的任何地方增加該函數(shù)。

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

InsertData函數(shù)使用了System.DateTime和Sytem.String對(duì)象。關(guān)于System.String的介紹可以參看幫助。在這里我注意到在OnConnection中關(guān)于CommandBars的三行代碼,這三行代碼是在以后運(yùn)行的過(guò)程中要在工具菜單中建立菜單項(xiàng)。除了名稱插件已經(jīng)完成。按F5來(lái)試驗(yàn)插件。一個(gè)新的IDE實(shí)例運(yùn)行,在這個(gè)實(shí)例中這個(gè)插件將出現(xiàn)在工具|外接程序管理對(duì)話框中??梢酝ㄟ^(guò)選中再外接程序管理對(duì)話框中最左面的復(fù)選框來(lái)加載插件。現(xiàn)在你可以打開(kāi)任何一個(gè)文本文件,然后再VisualStudio.NET的命令窗口中輸入“TextUtil.Command.TextUtil”在當(dāng)前光標(biāo)的位置將插入當(dāng)前日期。事實(shí)上在你完成輸入之前自動(dòng)變異已經(jīng)天填充了命令。

當(dāng)你按下F5開(kāi)始運(yùn)行一個(gè)IDE新的實(shí)例的時(shí)候,你的插件是在調(diào)試模式下。我們可以在調(diào)試模式下發(fā)現(xiàn)所有異常的信息。在普通的操作中出現(xiàn)了任何的異常,他們都可能不可用。盡可能的得到異常的信息,那么錯(cuò)誤的原因就會(huì)盡早的發(fā)現(xiàn)。

Visual Studio.NET改變命令名稱

向?qū)б呀?jīng)為菜單命令指定了默認(rèn)的名字(TextUtil)。因此這個(gè)名字是不具有特色描述的,我一會(huì)會(huì)增加更多的菜單命令、改變菜單命令名稱。同時(shí),因?yàn)槲以诟淖兠蠲Q的時(shí)候遇到過(guò)名稱混亂的情況,所以我們必須確認(rèn)我們的插件不會(huì)有相同的命令名稱。***個(gè)改變是在OnConnection函數(shù)中調(diào)用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") 

向?qū)г诔跏歼\(yùn)行加載之前應(yīng)經(jīng)注冊(cè)了插件信息,但是名稱的改變影響了注冊(cè)信息。這就意味著在增加了插件功能的時(shí)候我們需要從新生成插件項(xiàng)目和安裝項(xiàng)目。然后再運(yùn)行安裝程序。運(yùn)行插件(原文:RunningtheMacro譯者:可能是錯(cuò)誤)
現(xiàn)在“TextUtil.Connect.InsertDate”命令可以按照我的想法工作了。但是,他是怎么工作的呢?讓我們繼續(xù)往下看。

責(zé)任編輯:田樹(shù) 來(lái)源: 博客
相關(guān)推薦

2009-11-02 14:16:43

Visual Stud

2009-12-09 09:16:32

Visual Stud

2009-12-04 15:33:23

Visual Stud

2009-12-09 09:30:55

Visual Stud

2009-12-04 14:29:05

Visual Stud

2009-11-02 14:27:42

Visual Stud

2009-11-24 09:43:21

2009-12-10 16:35:09

Visual Stud

2009-12-03 09:06:41

Visual Stud

2009-12-10 09:32:42

Visual Stud

2009-12-03 09:18:23

Visual Stud

2009-11-24 16:14:26

Visual Stud

2009-09-03 09:10:24

Visual Stud

2009-11-25 14:05:07

Visual Stud

2009-12-03 13:34:36

Visual Stud

2013-11-13 10:07:26

Visual Stud微軟

2010-12-14 09:15:50

Visual Stud

2013-06-09 15:25:57

Visual Stud

2010-04-08 15:14:59

Visual StudASP.NET 4.

2009-12-16 10:34:07

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)