青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

桃源谷

心靈的旅行

人生就是一場旅行,不在乎旅行的目的地,在乎的是沿途的風景和看風景的心情 !
posts - 32, comments - 42, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

在Visual Studio使用宏來定制新的注釋格式

Posted on 2009-12-21 21:13 lymons 閱讀(2348) 評論(0)  編輯 收藏 引用 所屬分類: C++ 、工程管理開發環境

在Visual Studio定制新的注釋格式

在本文中,使用Visual Studio2003作為例子來描述宏的做成步驟。(我想在Visual Studio2005、2008中也應該是一樣的)  
     
在編寫ASP代碼時,可以使用單引號來注釋掉不要的代碼。在Visual Studio的IDE環境中也支持使用塊注釋的方式把一整段的代碼注釋掉。  
不過有的時候,也有要求用<%' ~ %>這種注釋格式來注釋掉HTML中的代碼,但是包括Visual Studio在內的一些流行的編輯器都不支持這種格式的注釋方式。不過還好,Visual Studio的IDE支持宏的功能,因此我們可以使用VBScript宏來定制任意格式的代碼注釋。
例如:
<%' if(LengthB(frmMe.txtUserCd.value) > <%= LENGTH_USR_CD %><%'){ %>
<%'  alert("使用者的ID長度有誤"); %>
<%'  frmMe.txtUserCd.focus(); %>
<%'  return false; %>
<%' } %>
 if(LengthB(frmMe.txtUserCd.value) > <%= LENMAX_USR_CD %>){
  alert(
"使用者的ID長度有誤");
  frmMe.txtUserCd.focus();
  return 
false;
 }

在JavaScript代碼中使用<% ~ %>可以隱藏其間的代碼。因此,在網頁代碼中有很多的地方就存在<% ~ %>的符號,  
  也就是說<% ~ %>和我們要添加的注釋<%' ~ %>格式有沖突。    
  其中,值得注意的地方是,這種注釋格式在每遇到一個%>符號時要新添加一個<%',而不是簡單的在一行的首尾添加<%' ~ %>

 

1. 打開宏編輯器(Macros IDE)  
  1.1 啟動Visual Studio?。玻埃埃抵?,從主菜單中選擇:  
     Tools → Macros → Macros 



1.2 點擊菜單選項“Macros IDE“后,Microsoft Visual Studio Marcos這個編輯器就會啟動。    
  1.3 如果這是第一次編輯宏的話,此時隨著編輯器的啟動,一個叫做“My Macros“的工程自動會被打開  
      在工程"My Macros"中應該有兩個模塊,一個是EnvironmentEvent ,另一個是 Module1    
  1.4 咱們可以選擇任何一個模塊來添加宏代碼。這里我們選擇 Module1,雙擊模塊名字則進入到編輯模式。
                該模塊中只有4行代碼.每行代碼都有用,請不要刪除.


其中,Imports EnvDTE 這句非常有用,后面用到的幾乎所有的對象都出自EnvDTE這個命名空間。  
      DTE 是Development Tools Enviroment的縮寫。

2.1 在“Public Module Module1“和“End Module“之間,寫入以下的代碼
2. 在宏編輯器中寫入創建注釋的VBScript代碼  
 
 
         首先,為了能給一段代碼添加注釋,我們要做成AddHTMLcomment()函數


圖片中的代碼如下所示,請原樣拷貝到Module1中
Sub AddHTMLcomment()   
          
'得到當前文檔中被用戶選擇的代碼片斷   
          Dim selection As TextSelection = DTE.ActiveDocument.Selection()   
          
'創建一個編輯點,用于指示在被選擇的代碼片斷中的修改位置。類似于C語言中的指針   
          Dim start As EditPoint = selection.TopPoint.CreateEditPoint()   
          
'得到已選擇的代碼片斷的終點   
          Dim endpt As TextPoint = selection.BottomPoint   
  
          
'在當前文檔中打開Undo功能   
          DTE.UndoContext.Open("Comment Region")   
  
          Try   
              
'在一行代碼中如果出現一個注釋尾"%>",則在它后面插入一個注釋頭"<%'"   
              Dim objMovePt As EditPoint   
              
Do While start.FindPattern("%>", , objMovePt)   
                  
If objMovePt.GreaterThan(endpt) Then   
                      
Exit Do   
                  
End If   
                  start.MoveToPoint(objMovePt)   
                  start.Insert(
"<%'")   
              
Loop   
  
              
'在一行的行首和行尾分別插入注釋頭和注釋尾   
              start = selection.TopPoint.CreateEditPoint()   
              
Do While (start.LessThan(endpt))   
                  
'在這里插入注釋頭   
                  start.Insert("<%' ")   
  
                  
'在行尾插入注釋尾   
                  start.EndOfLine()   
                  start.Insert(
" %>")   
  
                  start.LineDown()   
                  start.StartOfLine()   
              
Loop   
          Finally   
              
'If an error occured, then need to make sure that the undo context is cleaned up.   
              'Otherwise, the editor can be left in a perpetual undo context   
              DTE.UndoContext.Close()   
          
End Try   
  
      
End Sub 
其中,該函數分兩個部分,第一個部分是先查找選擇的代碼片斷中是否存在注釋尾,如果    
  存在的話,則在它后面插入一個注釋頭。函數FindPattern是編輯點對象中的一個查找函數。  
  該函數有三個參數:第一個是要查找的對象(一般是字符串),第三個則是如果找到該字符串,  
  則指示該字符串后面的第一個字符在代碼片斷中的位置,也是一個編輯點對象。第二個參數我們不用關心,  
  調用時什么也不寫即可。第二個部分則是遍歷每一個行,在行首和行尾插入注釋頭和注釋尾    
     
 
  此后,為了可以刪除代碼中的注釋, 我們要增加DelHTMLcomment()函數  
    把下面的代碼原樣的拷貝到Module1中
Sub DelHTMLcomment()   
          
Dim selection As TextSelection = DTE.ActiveDocument.Selection()   
          
Dim start As EditPoint = selection.TopPoint.CreateEditPoint()   
          
Dim endpt As TextPoint = selection.BottomPoint   
  
          DTE.UndoContext.Open(
"Comment Region")   
  
          Try   
              
'刪除代碼中的所有注釋頭   
              Dim objMovePt As EditPoint   
              
Do While start.FindPattern("<%'", , objMovePt)   
                  
If objMovePt.GreaterThan(endpt) Then   
                      
Exit Do   
                  
End If   
  
                  start.Delete(
3)   
              
Loop   
  
              
'只刪除行尾的注釋尾   
              start = selection.TopPoint.CreateEditPoint()   
              
Do While (start.LessThan(endpt))   
                  
Dim len As Long = start.LineLength()   
                  
Dim num As Long = start.Line()   
  
                  start.MoveToLineAndOffset(num, 
len - 2)   
                  
If start.GetText(3<> " %>" Then   
                      
MsgBox("L" & num & "行的最后幾個字符不是  %> ,請按CTRL+Z恢復原來的代碼!")   
                      
Exit Do   
                  
End If   
  
                  start.Delete(
3)   
  
                  start.LineDown()   
                  start.StartOfLine()   
              
Loop   
          Finally   
              
'If an error occured, then need to make sure that the undo context is cleaned up.   
              'Otherwise, the editor can be left in a perpetual undo context   
              DTE.UndoContext.Close()   
          
End Try   
  
      
End Sub 
  該函數分兩個部分,第一個部分把代碼中的所有注釋頭全部刪掉,第二部分則是刪除注釋尾。  
  與AddHTMLcomment()相比,邏輯稍微簡單一些。其中稍微值得注意的地方是,該函數對行尾有  
  特殊要求,即在行尾的最后三個字符必須是注釋尾    
     
 
 
3. 請存盤后關閉宏編輯器  
  3.1 請按「Ctrl+S」鍵,然后從主菜單"File"中選擇"Close And Return"關閉編輯器




4. 打開Visual Studio的“Macro Explorer“  
  4.1 在主菜單中作以下的選擇  
      View → Other Windows → Macros Explorer


4.2 此時、在Visual Studio IDE的右側則會出現Marcos Explorer樹狀列表


5. 選擇完整的一段代碼給它添加注釋以及取消注釋  
  5.1 用鼠標選擇要添加注釋的代碼


5.2 雙擊Macros Explorer樹中的AddHTMLcomment項目即可給這段代碼添加注釋


5.3 如果想取消注釋,則雙擊Macros Explorer樹中的DelHTMLcomment項目即可為選擇的代碼取消所加的注釋

我的個人簡歷第一頁 我的個人簡歷第二頁
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲综合欧美日韩| 这里只有精品在线播放| 久久精品中文字幕一区二区三区 | 亚洲男女自偷自拍| 日韩系列欧美系列| 狂野欧美激情性xxxx欧美| 亚洲精选大片| 久久综合给合久久狠狠色 | 免费久久精品视频| 亚洲伦伦在线| 在线视频精品| 黄色日韩在线| 亚洲国产精品久久久久秋霞不卡 | 麻豆乱码国产一区二区三区| 亚洲激情中文1区| 日韩亚洲综合在线| 国产欧美一区二区视频| 久久综合久色欧美综合狠狠 | 亚洲摸下面视频| 狠狠色噜噜狠狠狠狠色吗综合| 美女视频一区免费观看| 欧美日韩国产一级| 久久国产精品第一页| 另类天堂av| 亚洲欧美日本国产有色| 久久久久久久综合狠狠综合| 99在线|亚洲一区二区| 亚洲欧美日韩国产中文在线| 亚洲国产va精品久久久不卡综合| 日韩午夜精品| 激情综合色综合久久综合| 亚洲免费高清视频| 国产一区91| 一本一道久久综合狠狠老精东影业| 国产日韩欧美高清| 亚洲激情视频在线播放| 国产亚洲精品综合一区91| 亚洲精品免费网站| 狠狠色丁香婷综合久久| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 精品白丝av| 一区二区三区久久网| 一区二区三区在线视频免费观看| 夜夜狂射影院欧美极品| 亚洲国产精品一区二区尤物区| 99国产精品视频免费观看| 一本久久综合亚洲鲁鲁五月天| 久久免费视频一区| 亚洲国产小视频| 亚洲视频二区| 国产噜噜噜噜噜久久久久久久久 | 欧美成人中文字幕| 国产精品99久久久久久久久久久久| 亚洲欧美综合国产精品一区| 国产主播一区二区三区四区| 麻豆成人在线播放| 韩日在线一区| 性色av一区二区怡红| 午夜亚洲影视| 国产精品国产精品| 久久久亚洲高清| 国产亚洲成精品久久| 欧美大片第1页| 亚洲欧美影音先锋| 亚洲国产婷婷| 久久久久久亚洲精品中文字幕| 亚洲日韩欧美视频一区| 国产精品视频不卡| 亚洲欧美国产制服动漫| 国产精品久久毛片a| 亚洲图片激情小说| 欧美在线观看视频在线| 国产嫩草一区二区三区在线观看 | 国产一区二区三区四区三区四| 男女av一区三区二区色多| 亚洲一区二区三区激情| 欧美成人综合一区| 国产欧美综合一区二区三区| 亚洲国产婷婷香蕉久久久久久99 | 欧美黄色aaaa| 欧美影院成年免费版| 99国产精品久久| 精品99一区二区| 国产伦理精品不卡| 欧美日韩一区不卡| 亚洲永久免费观看| 国产精品一区二区三区四区| 欧美在线观看日本一区| 久热精品在线视频| 亚洲精品麻豆| 国产精品福利在线观看| 欧美一级大片在线免费观看| 免费成人黄色片| 亚洲乱码精品一二三四区日韩在线| 欧美精品久久久久久久| 亚洲网站啪啪| 麻豆精品精华液| 日韩视频一区二区| 国产精品午夜电影| 久久亚洲私人国产精品va媚药| 亚洲国产va精品久久久不卡综合| 亚洲视频一区在线观看| 国产在线视频欧美一区二区三区| 久久综合国产精品| 亚洲午夜电影| 你懂的国产精品| 亚洲性视频h| 亚洲国产va精品久久久不卡综合| 欧美日韩日本视频| 久久精品国产免费观看| 亚洲精品影院| 免费h精品视频在线播放| 亚洲午夜视频| 国产精品久久久久久久久搜平片| 久久综合婷婷| 欧美国产一区二区| 欧美日韩一区二区三区免费看| 欧美色视频在线| 亚洲在线播放| 久久野战av| 欧美一区二区日韩| 99精品视频免费全部在线| 黄色成人av在线| 国产精品海角社区在线观看| 麻豆久久精品| 久久久久久久久久码影片| 午夜精品久久99蜜桃的功能介绍| 亚洲激情网址| 欧美激情导航| 另类尿喷潮videofree| 午夜宅男欧美| 亚洲在线1234| 亚洲尤物在线视频观看| 亚洲免费电影在线观看| 亚洲国产精品久久久久久女王| 国产精品一区二区三区久久| 欧美视频在线免费| 欧美一区二区三区四区在线观看地址| 久久激情综合网| 欧美精品一区二区久久婷婷| 国产精品yjizz| 欧美成人免费在线| 在线视频亚洲欧美| 亚洲少妇诱惑| 亚洲午夜精品久久| 亚洲深夜av| 国产精品99久久久久久久久久久久| 亚洲美女精品成人在线视频| 亚洲激情视频在线| 亚洲激情社区| 99精品视频免费观看| 亚洲美女中文字幕| 99riav久久精品riav| 夜夜嗨av一区二区三区网站四季av| 亚洲精品日韩综合观看成人91| 亚洲人成网站777色婷婷| 最新成人av在线| 日韩午夜精品视频| 在线亚洲国产精品网站| 亚洲尤物视频网| 欧美一级视频精品观看| 亚洲国产精品一区在线观看不卡| 亚洲美女啪啪| 久久伊人一区二区| 国产欧美日韩激情| 国产一区视频在线看| 欧美日韩国产欧| 国产美女高潮久久白浆| 国产最新精品精品你懂的| **网站欧美大片在线观看| 日韩亚洲欧美在线观看| 亚洲欧美第一页| 久久天天躁夜夜躁狠狠躁2022 | 久久精品首页| 欧美大片在线看| 一本色道久久88综合日韩精品 | 亚洲尤物在线视频观看| 欧美一区二区免费| 欧美成人黑人xx视频免费观看| 欧美日韩免费一区二区三区视频| 国产精品青草久久| 亚洲国产精品久久久久婷婷884| 亚洲网站视频| 理论片一区二区在线| 日韩亚洲欧美精品| 欧美中文字幕在线观看| 欧美日韩第一页| 国产一区二区三区在线观看网站 | 亚洲福利在线观看| 亚洲视频一二三| 欧美a级片网站| 亚洲手机成人高清视频| 麻豆亚洲精品| 国产亚洲欧美一区二区三区| 亚洲剧情一区二区| 久久伊伊香蕉| 亚洲影院在线| 欧美连裤袜在线视频| 在线高清一区| 香蕉免费一区二区三区在线观看|