source insight中的快捷鍵總結
1.快捷鍵
1,Shift+F8高亮顯示指定字元。
2,Ctrl+F找出來的結果用F4,F3前進後退查詢。
3,Alt+,後退alt+.前進查詢關鍵字。
4,Alt+G或者F5跳轉到某個固定的行號。
5,Ctrl+M可以自己管理標號,自己可以定義一個編號,可以在一個檔案或者多個檔案間很容易的切換。
6,Ctrl+H是在一個檔案中查詢替換,ctrl+shift+h在多個檔案中查詢替換。
7,在si中可以進行列的選擇,方法是按住alt並左鍵選擇。
8,Ctrl+/是在開啟的所有檔案中查詢某些關鍵字。
9,Ctrl+k是複製一行的快捷鍵
10,我們在用Ctrl+/查詢結果後,進去一個索引後,像要切換到下一個用F10,上一個用F9。
11,Ctrl+i,Ctrl+enter將游標所在的行換到下一行,然後,在此位置上加入新的一行。
12,Ctrl+R是Renumber的快捷鍵,這個用於處理數字順序排列的情況相當有效,比如陣列下標。例如現有程式碼
array[0] = 1;
array[1] = 2;
array[2] = 3;
現在要改為
array[0] = 0;
array[1] = 1;
array[2] = 2;
array[3] = 3;
當然可以一個個修改,但最快的方式是在array[0] = 1;之前新增array[0] = 0;,然後列選陣列下標,使用Renumber功能以 0為起始值重填數值。
2.一些常用的英文單詞的意思:
commands--關鍵字
3. source insight 的配色方案
剛安裝上的自己配置顏色還是很耗費時間的,我有一個配色方案比較好,
要把這個檔案放置在這個路徑下:C:\Users\Administrator\Documents\Source Insight\Settings
載入這個配置檔案:Options->Load Configuration 彈出的對話方塊選中 All Configuration Setting 然後 Load 選中新的配置
4.巨集語言
我始終認為這是SI中最有趣的部分,這是一種功能強大的程式語言,幾乎可以實現在程式設計過程可能使用到的各種功能。這裡不準備對如何實用巨集語言進行程式設計作介紹(可參閱SI幫助文件。),只介紹如何使用已編好程式。為方便使用,我已把這些程式都集中放在utils.em檔案中,下文就此檔案進行論述。該巨集檔案實現了一些在編碼過程中可能會用到的功能, 如新增檔案頭、函式說明(使用時能自動新增檔名、函式名和當前日期)和巨集定義,程式碼補全等。使用說明:
1. 下載必要檔案:
下載地址設定為 C:\Users\sks\Documents\Source Insight\Projects\Base
2. 開啟source insight,並開啟設定工程檔案:
Project/Open Project
3. 新增下載的檔案到工程中:
然後 close
4. 為這些巨集分配快捷鍵:
從裡邊找到
Macro: WangQiGuo_AddMacroComment
Macro: WangQiGuo_CommentSelStr
Macro: WangQiGuo_MultiLineComment (多行註釋,首先先選中多行,然後按他的快捷鍵)
並設定快捷鍵分別是
Ctrl + 3
Ctrl + 8
Alt + 1
另外為了以防萬一,檢視下下邊的快捷鍵分配是不是設定了:
Macro: AutoExpand --> Alt + Enter (程式碼自動補全功能)
Macro: ToExplorerFolder --> Ctrl + T (開啟本檔案所在的資料夾)
關於AutoExpand的舉例說明, 當你輸入了 switch 且游標正處於switch後面,執行該巨集則會得到
switch ( # )
{
case # :
#
break;
case # :
#
break;
default:
#
}
對於InsFunHeader巨集,如果有如下函式體,(此處說的是後邊的 fu 自動補全的執行結果)
int nOpenConfigFile(char *pchMemConfig, char *pchFlashConfig, int nSize, int nMode) { I }游標在函式體內時執行該巨集,那麼將會在函式體上方得到
/****************************************************************************** * nOpenConfigFile - * DESCRIPTION:- * * Input: N/A * Output: N/A * Returns: N/A * * modification history * -------------------- * 1.00, Apr 19, 2007, T357 written. * -------------------- ******************************************************************************/
其中的函式名及編寫日期自動按實際情況填充,T357串可通過修改utils.em檔案,改成你需要的名字。
修改後的快捷鍵就如下:
Alt+1,是多行一起註釋的快捷鍵,再按一次是取消多行註釋
Ctrl+3,是為內容新增#if 0...#endif,之所以這樣是因為3的上的#
Ctrl+8,是為內容新增/**/,之所以這樣是因為8的上的*
Ctrl+t,開啟正在顯示的檔案所在的資料夾,並且是選中的狀態
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 (修改相關配置資訊)
要更改名字什麼的用它。
這裡的版權說明只能自己手工修改程式碼,開啟quicker.em檔案,查詢字串 Copyright 更改兩處,一個是中文的版權資訊,一個是英文的版權資訊。
詳細的語句塊自動補全功能說明:
1.1
該命令自動生成C語言的註釋,它能自動換行對齊,在把文件中一長串註釋拷貝過來時特別管用,不用自己去對齊了。還能自動識別中文和英文單詞,對於中文不會把一個字分開,對於英文單詞分開時會自動新增連字元,下面是一個註釋的例子abcdefghijk = abcd + cdefg +hijk
1.2 { 自動生成 }
1.3 while (wh)自動生成While語句
while (#)
{
#
}
1.4 if 自動生成if語句
if 生成if結構的語句
ife 對應生成if else結構的語句
ifs 對應生成if elseif else結構的f語句
if ( # )
{
#
}
1.5 for 自動生成for語句,支援塊命令插入
該命令自動生成如下格式
for ( #; #; # )
{
#
}
1.5.1 fo 自動生成for語句與前一條命令相比它直接會定義迴圈變數
UINT32 ulI = 0;
for ( ulI = 0; ulI <#; ulI++ )
{
#
}
1.6 do 自動生成 do while語句
該命令自動生成如下格式
do
{
#
} while ( # );
1.7 #ifd 自動生成 #ifdef 命令
該命令生成如下格式
#ifdef UMSC
#endif
1.8 #ifn 自動生成 #ifndef 命令
該命令生成如下格式
#ifndef UMSC
#endif
1.9 #if 自動生成#if 命令
該命令生成如下格式
#if ( UMSC == 1)
#endif
1.10 cpp 自動生成適用於c++的c原型說明定義
該命令生成如下格式
#ifdef __cplusplus
#if __cplusplus
extern "C"{
#endif
#endif
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
1.11 switch (sw) 自動生成switch語句
該命令將提示輸入case的個數,生成如下格式
switch ( # )
{
case #:
#
break;
default:
#
}
1.12 case (ca)自動生成case語句
支援塊命令輸入
該命令生成如下格式,用它可以避免遺漏break
case #:
#
break;
1.13 struct (st) 自動生成結構型別
該命令自動生成如下結構定義,它提示輸入結構名,會自動轉換成大寫形式,並且自動在其後新增_STRU作為結構型別
typedef struct HELLO_TEST
{
#
}HELLO_TEST_STRU;
1.14 enum (en) 自動生成列舉型別
該命令自動生成如下結構定義,它提示輸入結構名,會自動轉換成大寫形式,並且自動在其後新增_STRU作為結構型別
typedef enum HELLO_TEST
{
#
}HELLO_TEST_ENUM;
參考部落格:http://www.cnblogs.com/wangqiguo/p/3713211.html
5.特殊情況的解決辦法
5.1 快捷鍵Alt+W在有的計算機上不能使用,以至於我們的快捷切換視窗不能使用。
一般這個問題的出現是因為你開著qq呢,qq的語音輸入快捷鍵就是Alt+W,去掉就可以了:
5.2 source insight 中儲存時自動去除每行尾部的空格和tab的實現方法:
Options->Perferences->Files-> Remove extra white space when saving。
5.3 開啟檔案時亂碼:
當開啟一個檔案時,中文註釋亂碼,如論如何設定source insight都不能解決,那你需要考慮考慮是不是檔案本身的問題了,source insight處理的是文件格式中不能很好的處理utf-8的格式,因此如果是這個格式的檔案就需要更改一下文件了,具體的方法也很簡單,只要用notepad++開啟要修改的文件,然後 (編碼->轉為ANSI編碼格式),一張截圖如下: