很是適用的Sourceinsight插件,提升效率【強力推薦】

轉自:http://www.cnblogs.com/heiyue/p/6225975.htmlhtml

一直使用sourceinsight編輯C/C++代碼,sourceinsight是一個很是好用的編輯工具能夠任意定位,跳轉,回退,本人一直 使用該工具作C/C++開發,sourceinsight可以知足個人大部分需求,可是有些功能沒有總以爲是一個缺憾。本文將補充這些很是好用的功能。

<1>.使用快捷鍵註釋,單行註釋,多行註釋,#if 0註釋
<2>.跳轉到當前文件所在的文件夾,並高亮選擇
<3>.使用quicker.em插件添加函數註釋,文件頭註釋,標記註釋等
<4>.多選項卡插件
函數

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

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

 將文件 mycomment.em點此下載 放 到sourceinsight的Base工程的路徑下(通常是在C:\Documents and Settings\Administrator\My Documents\Source Insight\Projects\Base,或 C:\Users\kun\Documents\Source Insight\Projects),固然推薦存放到該目錄下,通常em文件是sourceinsight的宏語言文件,宏語言是 sourceinsight定義的一種語言,語法與C語言相似,sourceinsight提供了不少函數可供調用,以實現一些自定義的功能。em文件可 以放到任意位置,不必定要放在souceinsight的工程目錄下。測試

在souceinsight中選擇菜單 Project ->Open Project 彈出對話框以下,選擇打開Base工程:ui

 

 再打開的Base工程的界面中,選擇Project Window窗口下面的添加工程文件按鈕,將mycomment.em文件添加到該Base工程中:google

 

 選擇菜單Options-> Key Assignments... 爲宏添加一個快捷鍵:spa

 

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>.多選項卡插件

把源碼包中的msimg32.dll和sihook.dll刪除,拷貝已經成功的這兩個文件就能夠實現:

 雙擊選項卡能夠關閉某一個文件,在選項卡的左邊點擊下拉箭頭,能夠對該插件設置,或者關閉該插件:

 <5>.全選

在SI中,CTRL + a 這個快捷鍵被定義的功能不是全選,好像是所有保存功能。你須要本身修改快捷鍵的定義,在Options->Key Assignments 而後在Command裏面輸入Save,你就能夠看到下面有File: Save All了,鼠標點擊一下File: Save All,將Save All 的快捷鍵CTRL + a刪除。而後再到Command裏面輸入輸入 Select All 爲其設置快捷鍵CTRL + a這樣CTRL + a就能夠完成全選的功能了