Visual C++ 設置批量注釋


    【這是本人在書上看到的一個例子,在這里和大家分享】

實例說明:

  Visual C++6.0開發環境雖然提供了豐富的功能,但是也有不盡人意之處。例如,它沒有提供批量注釋和取消批量注釋的功能。但是,Visual C++6.0開發環境的設計者還是非常有遠見的,提供了一些接口允許用戶擴充開發環境的功能。例如,可以使用  VB Script 腳本來添加新的功能。本實例將介紹使用 VB Script 腳本實現批量注釋和取消批量注釋的功能。。。。。好了,不廢話了,,,直接 上 截圖 和 代碼 。

 

【1】 在 Visual C++ 6.0開發環境中選擇 【File】|【New】 命令,打開 New 窗口,選擇 【File】 選項卡。

【2】在列表中選擇【Macro File】選項,在【File】文本框中輸入文件名,單擊OK按鈕創建宏文件。如圖所示:

 

 

【3】單擊OK按鈕創建宏文件,彈出 Macro File 窗口。在 Description 備注中輸入宏文件的描述信息,單擊OK 按鈕創建宏文件。如圖:

 

【4】向宏文件中添加兩個子過程,語言為 VB Script,代碼如下。(直接拷貝代碼就可以了,不需要其他設置)

 1 Sub SetSelNote() 'Sun DESCRIPTION: 過程 SetSelNote 用於使選中的文本成為注釋'
 2 dim CurWin '當前獲得的窗口
 3 set CurWin=ActiveWindow
 4 if CurWin.type<>"Text" Then '判斷當前窗口是不是文本窗口
 5         MsgBox"當前窗口不是代碼窗口"
 6 else
 7         NoteType="//"
 8           BeginLine=ActiveDocument.Selection.TopLine
 9           EndLine=ActiveDocument.Selection.BottomLine
10         if EndLine<BeginLine then
11                 Line=BeginLine
12                 BeginLine=EndLine
13                 EndLine=Line
14         else
15             for row=BeginLine to EndLine
16                  ActiveDocument.Selection.GoToLine row
17                  ActiveDocument.Selection.SelectLine '選中當前行
18                  ActiveDocument.Selection=NoteType+ActiveDocument.Selection
19             next
20         end if
21 end if
22 end Sub
23 
24 Sub CancelSelNote()
25 dim CurWin '當前獲得的窗口
26 set CurWin=ActiveWindow
27 if CurWin.type<>"Text" then '判斷當前窗口是否是文本窗口
28     MsgBox"當前窗口不是代碼窗口"
29 else
30     BeginLine=ActiveDocument.Selection.TopLine
31     EndLine=ActiveDocument.Selection.BottomLine
32    if EndLine<BeginLine then
33         Line=BeginLine
34         BeginLine=EndLine
35         EndLine=Line
36     else
37         for row=BeginLine to EndLine
38              ActiveDocument.Selection.GoToLine row
39              ActiveDocument.Selection.SelectLine '選中當前行
40              SelBlock=ActiveDocument.Selection
41              Trim(SelBlock)
42              pos=instr(SelBlock,"//")
43              if pos<>0 then
44                     RightBlock=Right(SelBlock,Len(SelBlock)-2)
45                     ActiveDocument.Selection=RightBlock
46             end if
47     next
48 end if
49 end if
50 end Sub

 

 

【5】保存宏文件。

   源代碼就這么一點。

        接下來的操作,就是介紹  怎樣  把這個 .dsm 文件添加到編譯器中,供我們使用了。

【6】隨便打開一個VC的工程,或者自己新建一個工程。

然后,在打開的工程中,選擇 【工具】|【定制】,在彈出的對話框中,選擇最右邊的【附加項和宏文件】

然后,點擊【瀏覽】,找到你的那個 .dsm宏文件。好吧,看截圖。。。。

     

 

  

 

 

【】【】【】注意嘍。。。選擇 CancelSelNote ,把它 拖動到 工具欄中。(【拖】這個概念,相信拖過控件的童鞋都能理解)

此時,彈出了下面的窗口。。。保持默認選擇,點擊確定。。。同理,完成另外一個宏命令的添加。

 

 

-----------------------------------------------------------------------------------------------------------------------

  到了此處,已經完成了實例的全部操作。

  自己可以在打開的VC程序中進行測試  【批量注釋】和【取消批量注釋】這兩個功能了。

  我相信,我的講的過程還是很詳細的。您可以參考圖片進行操作。。不熟悉環境的童鞋,要多多  練習內功了。。。

  高手看了這篇文章,莫笑哦。。。給個建議啥的,也不錯啊。。我也是菜鳥一個。。。。

 

ps:

  這個例子有個Bug....

  當你用【取消注釋】這個功能時,它會刪除選中行的前兩個字符。。。

  正常情況下,刪除的是每一行前面“//”這兩個字符,但是,有時候,你選中多行時,如果其中有1行是不帶注釋的,那么,它也會刪除這行的前兩個字符。自己可以慢慢試一下,就清楚了。

  所以,在使用【 取消注釋 】功能時,要慎用。

 

     如果有高手能改進這個 bug,  歡迎多多賜教。。。      我是來學習的。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM