1. 程式人生 > >非常適用的Sourceinsight外掛,提高效率事半功倍

非常適用的Sourceinsight外掛,提高效率事半功倍

from:http://www.cnblogs.com/wangqiguo/p/3713211.html

一直使用sourceinsight編輯C/C++程式碼,sourceinsight是一個非常好用的編輯工具可以任意定位,跳轉,回退,本人一直使用該工具做C/C++開發,sourceinsight能夠滿足我的大部分需求,但是有些功能沒有總覺得是一個缺憾。本文將補充這些非常好用的功能。

<1>.使用快捷鍵註釋,單行註釋,多行註釋,#if 0註釋
<2>.跳轉到當前檔案所在的資料夾,並高亮選擇
<3>.使用quicker.em外掛新增函式註釋,檔案頭註釋,標記註釋等
<4>.多選項卡外掛

 下面分別對如何在sourceinsight中使用上述4個功能進行說明:

<1>.使用快捷鍵註釋,單行註釋,多行註釋,#if 0註釋

 將檔案 mycomment.em點此下載 放到sourceinsight的Base工程的路徑下(一般是在C:\Documents and Settings\Administrator\My Documents\Source Insight\Projects\Base),當然推薦存放到該目錄下,一般em檔案是sourceinsight的巨集語言檔案,巨集語言是sourceinsight定義的一種語言,語法與C語言類似,sourceinsight提供了很多函式可供呼叫,以實現一些自定義的功能。em檔案可以放到任意位置,不一定要放在souceinsight的工程目錄下。

在souceinsight中選擇選單 Project ->Open Project 彈出對話方塊如下,選擇開啟Base工程:

 再開啟的Base工程的介面中,選擇Project Window視窗下面的新增工程檔案按鈕,將mycomment.em檔案新增到該Base工程中:

 

 選擇選單Options-> Key Assignments... 為巨集新增一個快捷鍵:

mycomment.em檔案中定義了3個巨集,首先找到巨集 Macro: WangQiGuo_MultiLineComment 該巨集的功能是當執行之後會將所選擇的程式碼塊的每一行前面新增//雙斜槓註釋,選擇這個巨集之後,點選按鈕Assign New Key ... 為該巨集分配一個快捷鍵,此時會彈出一個對話方塊,這個時候只需要按鍵盤上面想要的快捷鍵就行了,例如我這裡使用的是ctrl + / 這個快捷鍵,該快捷鍵會被檢測到並自動新增到Keystroks視窗中,表示新增成功了,此時點選OK就設定完成了。

此時隨便找一個簡單的檔案拖到souceinsight視窗中就可以測試了:

選中某一行,直接按ctrl + / 就會自動註釋,當然多行也是可以的。

用同樣的方法為mycomment.em檔案中的另外兩個巨集 Macro: WangQiGuo_AddMacroComment 與 Macro: WangQiGuo_CommentSelStr 定義快捷鍵,其中巨集Macro: WangQiGuo_AddMacroComment 是將選中的程式碼前後新增#if 0  與 #endif 註釋的。而巨集Macro: WangQiGuo_CommentSelStr 是在選中的程式碼前後新增 /* 和 */ 註釋的

為了便於記憶,我為Macro: WangQiGuo_AddMacroComment設定的快捷鍵是 ctrl + 3 原因是在大鍵盤上數字鍵3上有一個#號,而我們的註釋塊#if 0 ,#endif中有#號,而Macro: WangQiGuo_CommentSelStr的快捷鍵我設定的是 ctrl + 8 原因是大鍵盤上的數字鍵8上有一個*號。

 巨集塊註釋的效果如下圖:

多行註釋的效果如下圖:

<2>.跳轉到當前檔案所在的資料夾,並高亮選擇

我們使用sourceinsight的時候是否會有這樣的需求:有時候程式碼很多,我需要找到sourceinsight中的某個原始檔在資源管理器中的位置,但是可惜的是sourceinsight沒有這樣的功能,為此我google,百度了很久都沒有一個好的解決方法,而實際上該功能的實現是非常簡單的:

將檔案 openfolder.em點此下載 新增到sourceinsight的Base工程目錄,按照上面的方法,將openfolder.em新增到Base工程中,該檔案中有一個巨集Macro: ToExplorerFolder 其功能就是當巨集執行的時候在資源管理器中開啟sourceinsight中的當前檔案所在的資料夾,並高亮選擇該原始檔,新增快捷鍵的圖如下:

我選擇的快捷鍵是ctrl + t

按ctrl + t之後,其執行的效果如下圖:

自動開啟一個資源管理器視窗,並定位到我的檔案test.cpp,實際上開啟openfolder.em可以看到其實現是很簡單的,就是利用sourceinsight提供的相關函式獲得當前檔案的絕對路徑,然後將該路徑傳遞給命令列的explorer命令,執行該命令就可以了,explorer的命令可以自行到cmd中試一下,openfolder.em中有註釋說明。

 <3>.使用quicker.em外掛新增函式註釋,檔案頭註釋,標記註釋等

quicker.em點此下載 該檔案據說是華為的一個員工寫的,主要功能是為函式介面添加註釋,為檔案添加註釋,生成標頭檔案,生成標記註釋(新增類似這樣的註釋:/*added by xxx 2014-05-07*/) , 按照同樣的方法將該檔案新增到Base工程中,該檔案中定義了一個主要的巨集Macro: AutoExpand 該巨集支援很多擴充套件命令,下面是我為該巨集配置的快捷鍵 ctrl + enter (推薦使用ctrl + enter):

該巨集下面包含許多子命令,下面介紹常用的命令:

1.新增檔案頭註釋:
命令:fi  解釋:file

2.新增函式說明註釋:
命令:fu  解釋: function

3.新增單行註釋:
命令:as  解釋: add start       (新增之後:/* add by zhangsan, 20140504, Mantis號:d, 原因: */ )
命令:ms  解釋: modify start    (新增之後:/* modify by zhangsan, 20140504, Mantis號:d, 原因: */ )
命令:ds  解釋: delete start    (新增之後:/* delete by zhangsan, 20140504, Mantis號:d, 原因: */ )

4.新增標記註釋:
命令:ab  解釋: add begin       (新增之後:/* add begin by zhangsan, 20140504, Mantis號:d 原因: */)
命令:ae  解釋: add end         (新增之後:/* add end by zhangsan, 20140504 */)

命令:mb  解釋: modify begin    (新增之後:/* modify begin by zhangsan, 20140504, Mantis號:d 原因: */)
命令:me  解釋: modify end      (新增之後:/* modify end by zhangsan, 20140504 */)

命令:db  解釋: delete begin    (新增之後:/* delete begin by zhangsan, 20140504, Mantis號:d 原因: */)
命令:de  解釋: delete end      (新增之後:/* delete end by zhangsan, 20140504 */)

5.配置命令:

命令:co  解釋:config (修改相關配置資訊)

如何使用呢,以為整個檔案添加註釋為例,在原始檔的任何地方輸入命令 fi 之後直接按ctrl + enter 如下圖所示:

在彈出的對話方塊中輸入對該檔案的描述資訊,例如我輸入的是“測試檔案” , 直接點選OK之後檔案變成這樣:

可以看到在該檔案的頭部自動生成了一塊註釋程式碼其中包含了 檔名,負責人,檔案說明,版權說明,生成時間,修改日誌等

我們可以使用co命令修改這裡的負責人,並且可以指定生成的語言是中文還是英文,同樣在原始檔的任何地方輸入co之後直接按ctrl + enter 會彈出輸入框讓我們修改作者,選擇語言,該配置只需要設定一次,之後再使用其他命令只要生成的註釋裡面包含作者資訊的都會使用我們配置的這個作者名。

這裡的版權說明只能自己手工修改程式碼,開啟quicker.em檔案,找到macro InsertFileHeaderCN定義就會看到相關版權資訊的說明,自己改一下就可以了:

 同樣如果生成的是英文資訊,請修改InsertFileHeaderEN 這個巨集裡面的相關程式碼。

 本段只演示了fi命令如何新增檔案頭的註釋資訊,其他的命令,例如fu命令新增函式頭的註釋資訊,還有其他的命令新增相關形式的註釋資訊,請自行測試,要說明的是quicker.em中的這些命令都是擴充套件命令,其使用方法都是一樣的,在檔案的任何地方輸入命令之後直接按ctrl + enter 就會出效果。例如新增函式註釋的效果如下:

直接在函式max前面輸入fu命令之後 按ctrl + enter 會提示輸入相關的註釋資訊

下面的3個註釋是分別輸入as 之後按ctrl +enter ,  輸入ms 之後按ctrl + enter , 輸入ds之後按ctrl + enter 之後生成的註釋效果:

有關quicker.em的其他命令請自行測試,另外還有一些沒有提到的命令,例如自動生成if塊,for語句塊,switch塊等,請百度搜索相關資料

<4>.多選項卡外掛

如果你希望在sourceinsight中像別的編輯器一樣為每個檔案生成一個選項卡頁面,你可以試試這個外掛TabSiPlus,該外掛需要安裝。解壓之後先執行VC_x86Runtime.exe ,之後直接執行TabSiHost.exe ,此時你的sourceinsight視窗自動出現下面的選項卡圖:

 雙擊選項卡可以關閉某一個檔案,在選項卡的左邊點選下拉箭頭,可以對該外掛設定,或者關閉該外掛:

 

如果上面的內容對您有幫助,不要吝嗇點贊哦