sourceinsight使用技巧
sourceinsight使用技巧
1
sourceinsight screen font 的默認(rèn)字體是Verdana的,它是一直變寬字體。在Document
style中可以將字體改為定寬的Courier
2 勾掉indent Open Brace和Indent Close Brace的效果:
繼上一段,在相對(duì)縮進(jìn)行里, 如果輸入"{"或"}", 則自動(dòng)和上一行列對(duì)齊
3 今天把一個(gè)用sourceinsight排版整齊的C文件,偶然用VC打開一看,全亂了。研究了半天,發(fā)現(xiàn)SI對(duì)每個(gè)字符的寬度不太一致。發(fā)現(xiàn)選上"view
--> draft view", 就可以讓每個(gè)字符的寬度一致了??旖萱I是 "Alt + F12"
4
選中幾行代碼按tab鍵或者shift+tab可以左右移動(dòng)代碼,調(diào)整代碼時(shí)很有用。
配置成簡(jiǎn)單好用的c/java代碼編輯器
1、縮進(jìn)與tab
(1)Options菜單àPreferencesàTyping卡,勾掉下面兩項(xiàng)∶
Typing tab indents line,regardless of selection,空行按tab無法前進(jìn)
Typing tab replaces current selection,選定部分內(nèi)容、再按tab時(shí)會(huì)清除所選
(2)Options菜單àDocument Options(針對(duì)不同文件類型,分別進(jìn)行設(shè)置)à下拉左上文件類型框、選擇合適類型(c源文件)àEditing
Options框中,tab width=2à Editing Options框中,勾選Expand tabs(這樣,按tab鍵、等價(jià)于輸入2個(gè)空格)
(3)Options菜單àDocument Optionsà選擇合適的文件類型à點(diǎn)擊右邊中間的Auto
Indent鈕à在彈出的框中,左邊一定要點(diǎn)Smart,右邊有兩個(gè)復(fù)選框Indent Open Brace和Indent Close
Brace,具體效果可以看SIS的HELP。按照部門里的編程風(fēng)格要求,最方便的就是把兩個(gè)復(fù)選框都取消掉,然后點(diǎn)OK。
勾選Auto Indent之SMART的效果∶在C程序里, 如果遇到行末沒有分號(hào)的語句,如IF, WHILE, SWITCH等,
寫到該行末按回車,則新行自動(dòng)相對(duì)上一行縮進(jìn)兩列。
勾掉Indent Open Brace和Indent Close Brace的效果∶繼上一段,在相對(duì)縮進(jìn)行里, 如果輸入"}",
則自動(dòng)和上一行列對(duì)齊(好像勾不勾都會(huì)有這個(gè)功能);而輸入"{"時(shí),不會(huì)與下面的行對(duì)齊(這是勾上Indent Open Brace時(shí)的效果)。
2、向項(xiàng)目中添加文件時(shí),只添加特定類型的文件(文件類型過濾器)
有個(gè)同事比較生猛,得整匯編代碼,但在SIS里建立PROJECT并ADD
TREE的時(shí)候,根據(jù)默認(rèn)設(shè)置并不會(huì)把該TREE里面所有匯編文件都包含進(jìn)來,只加了.inc和.asm后綴的,.s后綴的沒有。而且用SIS打開.s的文件,一片黑白沒有色彩,感覺回到DOS的EDIT時(shí)代了……
解決方法是在Options->Document Options里面,點(diǎn)左上的Document Type下拉菜單,選擇x86 Asm Source
File,然后在右邊的File
filter里*.asm;*.inc;的后面加上*.s;接著CLOSE就可以了。上面兩個(gè)問題解決了,但注意加入*.s后還需要重新ADD
TREE一遍才能把這些匯編加到PROJECT里面。
3、去掉功能強(qiáng)大但是無用的自動(dòng)完成功能
Options菜單àPreferences àTyping卡àAuto Completion框,勾掉Use
automatic symbol completion window(這里是SIS的全局設(shè)置)
Options菜單àDocument OptionsàEditing Options框中,勾掉Allow auto-complete(局部設(shè)置)
上面兩項(xiàng)必須全部勾選,才能啟用Auto Completion功能
4、恢復(fù)小鍵盤的“+,-,*,/”功能
Options菜單àKey assignments,通過關(guān)鍵詞Scroll 找到Scroll Half
Page Up,取消小鍵盤/;通過關(guān)鍵詞Scroll 找到Scroll Half Page Down取消小鍵盤*;通過關(guān)鍵詞Function找到Function
Up,取消小鍵盤-,通過關(guān)鍵詞Function找到Function down,取消小鍵盤+。
5、恢復(fù)ctrl+a的全選功能
通過關(guān)鍵詞save 找到save all,更改為ctrl+shift+a,通過關(guān)鍵詞select找到select
all, 更改為ctrl +a
6、解決字符等寬對(duì)齊問題。
SIS默認(rèn)字體是VERDANA,很漂亮。這網(wǎng)頁上應(yīng)該也是用的VERDANA字體。但由于美觀的緣故,VERDANA字體是不等寬的。比如下面兩行
llllllllll
MMMMMMMMMM
同樣10個(gè)字符,長(zhǎng)度差多了.用VERDANA來看程序,有些本應(yīng)該對(duì)齊的就歪了。解放方法是使用等寬的字體,但肯定比較丑??梢杂肈OS字體,也就是記事本里的默認(rèn)字體sysfixed
很丑,要有心理準(zhǔn)備。比較推薦的是用Courier New。
SourceInsight提供的功能
1、解析日志信息時(shí)非常有用的Source
Link
總地說來,SourceLink根據(jù)特定的搜索模式,把當(dāng)前文件中滿足模式的行、鏈接到由該行指定的其他源文件中。
所謂特定的搜索模式,共有兩種“File, then line”和“Line, then
file”,其中前后兩部分依靠正則表達(dá)式的組的概念來予以分割。如果當(dāng)前文件具有匹配行,比如“Error d:tcsrcq5.c 18: Lvalue
required in function
jsSort”,那么SourceInsight在該行創(chuàng)建SourceLink、把該行鏈接到由該行指定的文件中(即d:tcsrcq5.c,第18行)。
1.1 創(chuàng)建SourceLink
運(yùn)行Search菜單的Parse Source
Links…命令,在彈出的框中、選擇搜索模式、并填入相應(yīng)的正則表達(dá)式串,點(diǎn)OK,SIS就會(huì)解析當(dāng)前文件,如果有匹配,就創(chuàng)建SourceLink。
1.2 在解析日志信息時(shí),使用SourceLink
可以打開日志信息,運(yùn)行Parse Source
Links命令,日志中能夠匹配模式的每一行(通常是含有錯(cuò)誤信息的行)、就會(huì)被設(shè)置上一個(gè)SourceLink
1.3在解析自定義命令輸出時(shí),使用SourceLink
首先勾選Custom Command 中的“Parse Links in
Output”,然后選擇特定的搜索模式,最后填入合適的正則表達(dá)式。這樣,Source
Insight把輸出信息作為當(dāng)前搜索用文件;并且,如果有匹配行(通常即編譯錯(cuò)誤信息行),SIS為
該行創(chuàng)建SourceLink、并把每一個(gè)錯(cuò)誤信息中給定的文件(和行號(hào))作為link目的地,這對(duì)于我們修改源代碼錯(cuò)誤非常有幫助。
2、替換(Replace) VS 上下文敏感的智能重命名(Context-Sensitive Smart Rename)
2.1
替換(Replace)
目前來說,普通的替換命令、快捷鍵為ctrl+H,足以已滿足工作要求。
在彈出的替換窗口中,在Search框中勾選Selection來只在所選文本區(qū)域中替換(當(dāng)然這時(shí)你要先選定區(qū)域然后再按ctrl+H)、勾選WholeFile來在整個(gè)當(dāng)前文件內(nèi)替換、兩者都不勾選來從當(dāng)前光標(biāo)處替換至文件末尾;點(diǎn)右邊的Files…按鈕,可選擇替換多個(gè)文件的內(nèi)容。
2.2上下文敏感的智能重命名(Context-Sensitive Smart Rename)
Smart
Rename命令、快捷鍵是Ctrl+’,是上下文敏感的全局搜索替換。它可以智能地重命名全部項(xiàng)目文件中的一個(gè)標(biāo)示符。SourceInsight的搜索索引(search
index)使得搜索過程進(jìn)行地非常快。而且,使用Smart Rename所做的替換會(huì)被記錄在Search
Results窗口中,每一條替換記錄旁有一個(gè)SourceLink鏈接到替換發(fā)生地文件。
Smart Rename可以用來重命名標(biāo)記(symbol)。如果勾選了Smart Reference Matching選項(xiàng),Smart
Rename就只在正確的上下文范圍內(nèi)進(jìn)行重命名。它可以智能地重命名全部項(xiàng)目文件中的一個(gè)標(biāo)示符;它可以重命名函數(shù)本地變量,類或結(jié)構(gòu)體成員、函數(shù)。
在彈出的Smart Rename窗口中有下面幾項(xiàng)∶
舊名稱。光標(biāo)下的詞會(huì)被自動(dòng)加載;光標(biāo)的位置非常重要,這是因?yàn)镾ource Insight會(huì)根據(jù)本地上下文背景、準(zhǔn)確地確定你想要重命名哪一個(gè)標(biāo)記。
推薦只填單個(gè)詞、而不是字符串。
如果你在命名成員變量、或本地變量(),Old
Name框中會(huì)顯示完全標(biāo)記名、即上層容器名+標(biāo)記名。例如,框中的“DocDraw.paintStruc”代表DocDraw是函數(shù)名,paintStruc是函數(shù)的本地成員變量。
New Name 填新名稱。只填標(biāo)記名,不填上層容器名。
Output Search Results 如果勾選,搜索替換結(jié)果日志會(huì)被輸出到Search
Results窗口中??梢酝ㄟ^Windows菜單來切換,或ctrl+tab切換察看。并且每一條記錄旁會(huì)有SourceLink鏈接到替換發(fā)生地文件。
Confirm Each Replacement 每次替換詢問。
Skip Comments 不重名注釋部分。
【使用心得列表】
(1)如何用Smart Rename重命名數(shù)組的數(shù)組名?如果只選取數(shù)組名,會(huì)報(bào)錯(cuò)!
(2)如果勾掉Smart Reference Matching,會(huì)搜索全部項(xiàng)目文件,并且Old Name框中不顯示完全限定名;如果勾選Smart
Reference Matching,無法重命名數(shù)組名,而且鼠標(biāo)位置不正確時(shí)會(huì)報(bào)錯(cuò)。應(yīng)該如何應(yīng)對(duì)?
3、在SourceInsight中提供的正則表達(dá)式
3.1在SourceInsight中提供的正則表達(dá)式
正則表達(dá)式,是用來匹配復(fù)雜模式的特殊搜索用字符串。正則表達(dá)式串中,許多字符具有特殊的含義。例如,有個(gè)特殊的字符代表
“行首”。
下面是SourceInsight提供的所有可用特殊字符∶
Table 4.3: Regular Expression
Characters
Character
Matches
^ (at the beginning
only)
beginning of line。如^Hello,匹配Hello在句首。
.
any single
character
[abc]
any single character that belongs to the set abc
[^abc]
any single character that does not belong to the set abc
*
zero or more occurrences of the preceding
character
+
one or more occurrences of the preceding
character
t
a tab character
s
a space
character
w
white space (a tab or a space
character)
$
the end of the line。如TRUE$,匹配TRUE在句尾。
轉(zhuǎn)義字符。如果在它后面有元字符,取消其特殊含義。
可利用 “(”和 “)”、把正則表達(dá)式分割成不同的組;模式中的每個(gè)組自左向右指定為 Group #n,n=1,2,…;組的概念在替換時(shí)很有用。
例如∶
abc(xyz)可匹配abcxyz,其中xyz被認(rèn)為是group#1,
利用21來替換(abc)(xyz),替換結(jié)果為xyzabc。
3.2
正則表達(dá)式在配置tc編譯器中的應(yīng)用∶
正則表達(dá)式格式與源代碼文件路徑相對(duì)應(yīng),這里我的tc安裝目錄為d:tc,tc源文件放在d:tcsrc下,并命名為qn.c或qtn.c(其中n=1,2,…)。
觀察Tc編譯器某一次輸出錯(cuò)誤信息的格式∶
Error d:tcsrcq5.c 18: Lvalue required in function jsSort
則我們要匹配“d:tcsrcq5.c
18”部分,進(jìn)一步地,按照SourceInsight捕捉輸出并加以解析時(shí)的要求,要以組的形式、分別匹配“d:tcsrcq5.c
18”中的文件部分和行號(hào)部分∶
行號(hào)([1-9][0-9]*)
空格行號(hào)s([1-9][0-9]*)
文件名(d:tcsrc[qQ][tT][1-9][0-9]*.[cC])
全部加起來為∶
(d:tcsrc[qQ][tT]*[1-9][0-9]*.[cC])s([1-9][0-9]*)
3.3
正則表達(dá)式在配置javac編譯器中的應(yīng)用∶
我的JAVA_HOME是c:jdk,我的java源文件放于d:javasrc中,并命名為qn.java或qtn.java(其中n=1,2,…)。
觀察JDK編譯器某一次輸出錯(cuò)誤信息的格式∶
D:javasrcQ3.java:3: ';' expected
正則表達(dá)式為∶
([dD]:javasrc[qQ][tT]*[1-9][0-9]*.java):([1-9][0-9]*)
4、自定義命令
自定義命令與項(xiàng)目相關(guān),在一個(gè)項(xiàng)目中定義的所有自定義命令屬于該項(xiàng)目、只對(duì)該項(xiàng)目有效(包括快捷鍵等)。
自定義命令類似于命令行批處理文件。SIS允許自定義命令在后臺(tái)運(yùn)行;并可以捕捉自定義命令的輸出、放置于文件中、或粘貼入當(dāng)前光標(biāo)插入點(diǎn)。
分別利用上面SIS對(duì)輸出信息的處理方式,自定義命令對(duì)集成編譯器相當(dāng)有用,可以捕捉編譯器輸出并創(chuàng)建SourceLink尋錯(cuò);自定義命令對(duì)于文本過濾也相當(dāng)有用,可選中待過濾區(qū)塊、運(yùn)行Sort自定義命令、粘貼回選定區(qū)塊、即完成文本過濾。
請(qǐng)按下面步驟創(chuàng)建自定義命令∶
Options菜單àCustom Command
à點(diǎn)右邊Add鈕、填入新自定義命令名稱,或下拉左邊Commands、選擇命令進(jìn)行修改
àRun框、填入待執(zhí)行命令行,可含有特殊元字符,見后面的元字符表
àDir框、執(zhí)行命令行時(shí)應(yīng)處的目錄,如不填,以源代碼文件所在目錄為命令執(zhí)行目錄
à勾選Output框的Capture Output、輸出被捕捉,如果勾選Paste Output,輸出被粘貼
à勾選Control Group框中的Save Files First、SIS會(huì)在運(yùn)行命令前先檢查文件是否保存
à勾選Control Group框中的Pause When Done、SIS會(huì)在命令結(jié)束后暫停、方便檢查
à勾選Source Links in Output框中的Parse Source Links,?/p>
5使用最強(qiáng)大的宏功能,真的達(dá)到的完美境界
說明:
該宏文件實(shí)現(xiàn)一些編碼程中能會(huì)到的功能, 如添加文件頭、函數(shù)說明和宏定義等,
使用時(shí)能自動(dòng)添加文件名、函數(shù)名和當(dāng)前日期.
使用說明:
1. Project->Open Project... 打開Base工程(該工程一般在"我的文檔\Source
Insight\Projects\Base"中);
2. Project->Add and Remove Project Files...
加入宏文件(即mymacro.em);
3. Options->Menu Assignments 打開Menu Assignments窗口,
在Command中輸入Macro, 選中要使用的宏, 添加到合適的菜單中.
在http://www./public/macros/可以找到很多宏定義文件,但大多數(shù)沒什么用。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SourceInsight使用技巧(轉(zhuǎn))
2009年03月28日 星期六 12:29
1 sourceinsight screen
font 的默認(rèn)字體是Verdana的,它是一直變寬字體。在Document style中可以將字體改為定寬的Courier
2 document
options->auto indent 去掉indent Open Brace和Indent Close Brace的效果: 繼上一段,在相對(duì)縮進(jìn)行里,
如果輸入"{"或"}", 則自動(dòng)和上一行列對(duì)齊
3 今天把一個(gè)用sourceinsight排版整齊的C文件,偶然用VC打開一看,全亂了。研究了半天,發(fā)現(xiàn)SI對(duì)每個(gè)字符的寬度不太一致。
發(fā)現(xiàn)選上"view --> draft view", 就可以讓每個(gè)字符的寬度一致了??旖萱I是 "Alt +
F12"4選中幾行代碼按tab鍵或者shift+tab可以左右移動(dòng)代碼,調(diào)整代碼時(shí)很有用。配置成簡(jiǎn)單好用的c/java代碼編輯器
1、縮進(jìn)與tab
(1)Options菜單àPreferencesàTyping卡,勾掉下面兩項(xiàng)∶
Typing tab indents line,regardless of selection,空行按tab無法前進(jìn)
Typing tab replaces current selection,選定部分內(nèi)容、再按tab時(shí)會(huì)清除所選
(2)Options菜單àDocument Options(針對(duì)不同文件類型,分別進(jìn)行設(shè)置)à下拉左上文件類型框、選擇合適類型(c源文件)àEditing
Options框中,tab width=2à Editing Options框中,勾選Expand tabs(這樣,按tab鍵、等價(jià)于輸入2個(gè)空格)
(3)Options菜單àDocument Optionsà選擇合適的文件類型à點(diǎn)擊右邊中間的Auto
Indent鈕à在彈出的框中,左邊一定要點(diǎn)Smart,右邊有兩個(gè)復(fù)選框Indent Open Brace和Indent Close
Brace,具體效果可以看SIS的HELP。按照部門里的編程風(fēng)格要求,最方便的就是把兩個(gè)復(fù)選框都取消掉,然后點(diǎn)OK。
勾選Auto Indent之SMART的效果∶在C程序里, 如果遇到行末沒有分號(hào)的語句,如IF, WHILE, SWITCH等,
寫到該行末按回車,則新行自動(dòng)相對(duì)上一行縮進(jìn)兩列。
勾掉Indent Open Brace和Indent Close Brace的效果∶繼上一段,在相對(duì)縮進(jìn)行里, 如果輸入"}",
則自動(dòng)和上一行列對(duì)齊(好像勾不勾都會(huì)有這個(gè)功能);而輸入"{"時(shí),不會(huì)與下面的行對(duì)齊(這是勾上Indent Open Brace時(shí)的效果)。
2、向項(xiàng)目中添加文件時(shí),添加特定類型的文件(文件類型過濾器)
添加.pc文件和makefile文件,類型分別為C++,和Make File
Options -> Document Options... Alt-T -> 點(diǎn)擊Document Type的下拉框,然后選擇Make
File,在右邊的File Filter中,在原先的*.mak后面加上一個(gè)分號(hào),即多個(gè)不同過濾規(guī)則以分號(hào)間隔開,再加上*makefile,變成
*.mak;*makefile,并且選中Include when adding to
projects,這樣,以后再新建工程的時(shí)候,就可以識(shí)別makefile或Makefile了(好像此處Source Insight并不區(qū)分大小寫)。
3、去掉功能強(qiáng)大但是無用的自動(dòng)完成功能
Options菜單àPreferences àTyping卡àAuto Completion框,勾掉Use
automatic symbol completion window(這里是SIS的全局設(shè)置)
Options菜單àDocument OptionsàEditing Options框中,勾掉Allow auto-complete(局部設(shè)置)
上面兩項(xiàng)必須全部勾選,才能啟用Auto Completion功能
4、恢復(fù)小鍵盤的“+,-,*,/”功能
Options菜單àKey assignments,通過關(guān)鍵詞Scroll 找到Scroll Half
Page Up,取消小鍵盤/;通過關(guān)鍵詞Scroll 找到Scroll Half Page Down取消小鍵盤*;通過關(guān)鍵詞Function找到Function
Up,取消小鍵盤-,通過關(guān)鍵詞Function找到Function down,取消小鍵盤+。
5、恢復(fù)ctrl+a的全選功能
通過關(guān)鍵詞save 找到save all,更改為ctrl+shift+a,通過關(guān)鍵詞select找到select
all, 更改為ctrl +a
Source Insight設(shè)置
1、背景色選擇
要改變背景色Options->preference->windows
background->color設(shè)置背景色
2、解決字符等寬對(duì)齊問題。
SIS默認(rèn)字體是VERDANA,很漂亮。這網(wǎng)頁上應(yīng)該也是用的VERDANA字體。但由于美觀的緣故,VERDANA字體是不等寬的。比如下面兩行
llllllllll
MMMMMMMMMM
同樣10個(gè)字符,長(zhǎng)度差多了.用VERDANA來看程序,有些本應(yīng)該對(duì)齊的就歪了。解放方法是使用等寬的字體,但肯定比較丑。比較推薦的是用Courier New。
3、解決TAB鍵縮進(jìn)問題
Options-> Document Options里面的右下角Editing
Options欄里,把Expand tabs勾起來,然后確定。OK,現(xiàn)在TAB鍵的縮進(jìn)和四個(gè)空格的縮進(jìn)在SIS里面看起來就對(duì)齊咯
4、SI中的自動(dòng)對(duì)齊設(shè)置:
在C程序里, 如果遇到行末沒有分號(hào)的語句,如IF, WHILE, SWITCH等,
寫到該行末按回車,則新行自動(dòng)相對(duì)上一行縮進(jìn)兩列。
Option->Document option下的Auto Indient中Auto
Indient Type有三種類型 None,Simple,Smart。個(gè)人推薦選用Simple類型。
5、向項(xiàng)目中添加文件時(shí),只添加特定類型的文件(文件類型過濾器)
編輯匯編代碼時(shí),在SIS里建立PROJECT并ADD
TREE的時(shí)候,根據(jù)默認(rèn)設(shè)置并不會(huì)把該TREE里面所有匯編文件都包含進(jìn)來
只加了.inc和.asm后綴的,.s后綴的沒有。而且用SIS打開.s的文件,一片黑白沒有色彩,感覺回到DOS的EDIT時(shí)代了……
解決方法是在Options->Document Options里面,點(diǎn)左上的Document Type下拉菜單,選擇x86 Asm Source
File,
然后在右邊的File filter里*.asm;*.inc;的后面加上*.s;接著CLOSE就可以了。
上面問題解決了,但注意加入*.s后還需要重新ADD TREE一遍才能把這些匯編加到PROJECT里面。
6、添加文件類型
用戶可以定義自己的類型,Options->Document Options->add type,定義文件類型名以及文件名后綴。
勾選include when adding to projects在添加目錄下文件到工程是該類文件就會(huì)添加進(jìn)SI的工程。
如果需要將所有文件添加進(jìn)SI的工程,可以定義一種文件類型*.*。
7、恢復(fù)ctrl+a的全選功能
通過關(guān)鍵詞save 找到save
all,更改為ctrl+shift+a,通過關(guān)鍵詞select找到select all,更改為ctrl +a
Source Insight常用的快捷鍵:
Ctrl+= :Jump to definition
Alt+/ :Look up
reference
F3 : search backward
F4 : search forward
F5: go
to Line
F7 :Look up symbols
F8 :Look up local symbols
F9
:Ident left
F10 :Ident right
Alt+, :Jump backword
Alt+. :
Jump forward
Shift+F3 : search the word under cusor backward
Shift+F4 : search the word under cusor forward
F12 : incremental
search
Shift+Ctrl+f: search in project
shift+F8 :
標(biāo)亮所有文本中光標(biāo)所在位置的單詞
Source Insight的窗口操作:
Ctrl+W 關(guān)閉當(dāng)前文件窗口
Ctrl+Tab 切換文件窗口
project window Ctrl+O打開
symbol window Alt+F8打開和關(guān)閉
Contex Window 自定義鍵打開和關(guān)閉
Relation
Window 自定義鍵打開 先鎖定再刷新聯(lián)系
匯總其他小技巧:
讓{ 和 } 不縮進(jìn):
Options->Document Options->Auto Indent->Indent Open Brace/Indent
Close Brace
hao space: SourceInsight 小技巧
1、按住"ctrl", 再用鼠標(biāo)指向某個(gè)變量,點(diǎn)擊一下,就能進(jìn)入這個(gè)變量的定義。
2、今天把一個(gè)用sourceinsight排版整齊的C文件,偶然用VC打開一看,全亂了。研究了半天,發(fā)現(xiàn)SI對(duì)每個(gè)字符的寬度不太一致。
請(qǐng)教同事發(fā)現(xiàn)選上"view --> draft view", 就可以讓每個(gè)字符的寬度一致了。快捷鍵是 "Alt + F12"
3、"shift+F8" 標(biāo)亮所有文本中光標(biāo)所在位置的單詞
4、跳到某一行:"ctrl + g"
=========================source insight
快捷鍵大全=======================
剪切一個(gè)字 : Ctrl+,
剪切行
:Ctrl+U
復(fù)制一行 :
Ctrl+K
剪切該位置右邊的該行的字符 : Ctrl+;
激活語法窗口
: Alt+L
激活工程文件窗口 : Alt+R(自定義的)
退出程序 :
Alt+F4
重畫屏幕 :
Ctrl+Alt+Space
完成語法 : Ctrl+E
恰好復(fù)制該位置右邊的該行的字符 : Ctrl+Shift+K
復(fù)制到剪貼板 :
Ctrl+Del
剪切一行 : Ctrl+U
剪切到剪貼板 : Ctrl+Shift+X
左邊縮進(jìn) :
F9
右邊縮進(jìn) :
F10
插入一行 :
Ctrl+I
插入新行 :
Ctrl+Enter
加入一行 :
Ctrl+J
從剪切板粘貼 :
Ctrl+Ins
粘貼一行 :
Ctrl+P
重復(fù)上一個(gè)動(dòng)作 :
Ctrl+Y
重新編號(hào) :
Ctrl+R
重復(fù)輸入 :
Ctrl+\
替換 : Ctrl+H
智能重命名 : Ctrl+'
關(guān)閉文件 :
Ctrl+W
關(guān)閉所有文件 :
Ctrl+Shift+W
新建 :
Ctrl+N
轉(zhuǎn)到下一個(gè)文件 :
Ctrl+Shift+N
打開 :
Ctrl+O
重新裝載文件 :
Ctrl+Shift+O
另存為 :
Ctrl+Shift+S
顯示文件狀態(tài) : Shift+F10
回到該行的開始 : Home
回到選擇的開始 :
Ctrl+Alt+[
到塊的下面 :
Ctrl+Shift+]
到塊的上面 :
Ctrl+Shift+[
書簽 :
Ctrl+M
到文件底部 : Ctrl+End, Ctrl+(KeyPad)
End
到窗口底部 : (KeyPad) End
(小鍵盤的END)
到一行的尾部 : End
到選擇部分的尾部
: Ctrl+Alt+]
到下一個(gè)函數(shù) : 小鍵盤
+
上一個(gè)函數(shù) : 小鍵盤
-
后退 : Alt+,, Thumb 1
Click
后退到索引 :
Alt+M
向前 : Alt+., Thumb 2
Click
轉(zhuǎn)到行 : F5,
Ctrl+G
轉(zhuǎn)到下一個(gè)修改 : Alt+(KeyPad)
+
轉(zhuǎn)到下一個(gè)鏈接 : Shift+F9,
Ctrl+Shift+L
回到前一個(gè)修改 : Alt+(KeyPad)
-
跳到連接(就是語法串口列表的地方) : Ctrl+L
跳到匹配 :
Alt+]
下一頁 : PgDn, (KeyPad)
PgDn
上一頁 : PgUp, (KeyPad)
PgUp
向上滾動(dòng)半屏 : Ctrl+PgDn, Ctrl+(KeyPad) PgDn,
(KeyPad) *
向下滾動(dòng)半屏 : Ctrl+PgUp, Ctrl+(KeyPad) PgUp,
(KeyPad) /
左滾 :
Alt+Left
向上滾動(dòng)一行 :
Alt+Down
向下滾動(dòng)一行 :
Alt+Up
右滾 :
Alt+Right
選擇一塊 :
Ctrl+-
選擇當(dāng)前位置的左邊一個(gè)字符 : Shift+Left
選擇當(dāng)前位置右邊一個(gè)字符
: Shift+Right
選擇一行 :
Shift+F6
從當(dāng)前行其開始向下選擇 :
Shift+Down
從當(dāng)前行其開始向上選擇 :
Shift+Up
選擇上頁 : Shift+PgDn, Shift+(KeyPad)
PgDn
選擇下頁 : Shift+PgUp, Shift+(KeyPad)
PgUp
選擇句子(直到遇到一個(gè) . 為止) : Shift+F7,
Ctrl+.
從當(dāng)前位置選擇到文件結(jié)束 :
Ctrl+Shift+End
從當(dāng)前位置選擇到行結(jié)束 :
Shift+End
從當(dāng)前位置選擇到行的開始 :
Shift+Home
從當(dāng)前位置選擇到文件頂部 :
Ctrl+Shift+Home
選擇一個(gè)單詞 :
Shift+F5
選擇左邊單詞 :
Ctrl+Shift+Left
選擇右邊單詞 :
Ctrl+Shift+Right
到文件頂部 : Ctrl+Home,
Ctrl+(KeyPad) Home
到窗口頂部 : (KeyPad)
Home
到單詞左邊(也就是到一個(gè)單詞的開始) : Ctrl+Left
到單詞右邊(到該單詞的結(jié)束) :
Ctrl+Right
排列語法窗口(有三種排列方式分別按1,2,3次) :
Alt+F7
移除文件 :
Alt+Shift+R
同步文件 : Alt+Shift+S
增量搜索(當(dāng)用Ctrl
+ F 搜索,然后按F12就會(huì)轉(zhuǎn)到下一個(gè)匹配) : F12
替換文件 :
Ctrl+Shift+H
向后搜索 :
F3
在多個(gè)文件中搜索 :
Ctrl+Shift+F
向前搜索 :
F4
搜索選擇的(比如選擇了一個(gè)單詞,shift+F4將搜索下一個(gè)) :
Shift+F4
搜索 :
Ctrl+F
瀏覽本地語法(彈出該文件語法列表窗口,如果你光標(biāo)放到一個(gè)變量/函數(shù)等,那么列出本文件該變量/函數(shù)等的信息) :
F8
瀏覽工程語法 : F7,
Alt+G
跳到基本類型(即跳到原型) : Alt+0
跳到定義出(也就是聲明) :
Ctrl+=, Ctrl+L Click (select), Ctrl+Double L
Click
檢查引用 :
Ctrl+/
語法信息(彈出該語法的信息) : Alt+/, Ctrl+R Click
(select)
高亮當(dāng)前單詞 :
Shift+F8
語法窗口(隱藏/顯示語法窗口) :
Alt+F8
關(guān)閉窗口 : Alt+F6,
Ctrl+F4
最后一個(gè)窗口 : Ctrl+Tab, Ctrl+Shift+Tab
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Source Insight技巧收集
1、背景色選擇
要改變背景色Options->preference->windows
background->color設(shè)置背景色
2、解決字符等寬對(duì)齊問題。
SIS默認(rèn)字體是VERDANA,很漂亮。這網(wǎng)頁上應(yīng)該也是用的VERDANA字體。但由于美觀的緣故,VERDANA字體是不等寬的。比如下面兩行
llllllllll
MMMMMMMMMM
同樣10個(gè)字符,長(zhǎng)度差多了.用VERDANA來看程序,有些本應(yīng)該對(duì)齊的就歪了。解放方法是使用等寬的字體,但肯定比較丑。比較推薦的是用Courier
New。
3、解決TAB鍵縮進(jìn)問題
Options-> Document Options里面的右下角Editing
Options欄里,把Expand
tabs勾起來,然后確定。OK,現(xiàn)在TAB鍵的縮進(jìn)和四個(gè)空格的縮進(jìn)在SIS里面看起來就對(duì)齊咯
4、SI中的自動(dòng)對(duì)齊設(shè)置:
在C程序里, 如果遇到行末沒有分號(hào)的語句,如IF, WHILE, SWITCH等, 寫到該行末按回車,則新行自動(dòng)相對(duì)上一行縮進(jìn)兩列。
Option->Document option下的Auto Indient中Auto Indient Type有三種類型
None,Simple,Smart。個(gè)人推薦選用Simple類型。
5、向項(xiàng)目中添加文件時(shí),只添加特定類型的文件(文件類型過濾器)
編輯匯編代碼時(shí),在SIS里建立PROJECT并ADD TREE的時(shí)候,根據(jù)默認(rèn)設(shè)置并不會(huì)把該TREE里面所有匯編文件都包含進(jìn)來
只加了.inc和.asm后綴的,.s后綴的沒有。而且用SIS打開.s的文件,一片黑白沒有色彩,感覺回到DOS的EDIT時(shí)代了……
解決方法是在Options->Document Options里面,點(diǎn)左上的Document Type下拉菜單,選擇x86 Asm Source
File,
然后在右邊的File filter里*.asm;*.inc;的后面加上*.s;接著CLOSE就可以了。
上面問題解決了,但注意加入*.s后還需要重新ADD TREE一遍才能把這些匯編加到PROJECT里面。
6、添加文件類型
用戶可以定義自己的類型,Options->Document Options->add type,定義文件類型名以及文件名后綴。
勾選include when adding to projects在添加目錄下文件到工程是該類文件就會(huì)添加進(jìn)SI的工程。
如果需要將所有文件添加進(jìn)SI的工程,可以定義一種文件類型*.*。
7、恢復(fù)ctrl+a的全選功能
通過關(guān)鍵詞save 找到save
all,更改為ctrl+shift+a,通過關(guān)鍵詞select找到select all,更改為ctrl +a
Source
Insight常用的快捷鍵:
Ctrl+= :Jump to definition
Alt+/ :Look up
reference
F3 : search backward
F4 : search forward
F5: go
to Line
F7 :Look up symbols
F8 :Look up local symbols
F9
:Ident left
F10 :Ident right
Alt+, :Jump backword
Alt+. :
Jump forward
Shift+F3 : search the word under cusor backward
Shift+F4 : search the word under cusor forward
F12 : incremental
search
Shift+Ctrl+f: search in project
shift+F8 : hilight
word
Source Insight的窗口操作:
project window Ctrl+O打開
symbol
window Alt+F8打開和關(guān)閉
Contex Window 自定義鍵打開和關(guān)閉
Relation Window
自定義鍵打開 先鎖定再刷新聯(lián)系
在Source Insight中添加自定義功能的步驟如下:
1.Source
Insight中,Options->Custom Commands...->Add...,New Command name 隨便寫,我的是"Edit
with Vim"
2.Run中寫入: "C:\Program Files\Vim\vim63\gvim.exe" --remote-silent +%l
%f
意思是在當(dāng)前已經(jīng)打開的gvim窗口里面打開當(dāng)前的文件,并且跳轉(zhuǎn)到指定行
%l為當(dāng)前的行號(hào),%f為文件名
使用
--remote-silent
的作用是,如果已經(jīng)打開了對(duì)應(yīng)文件,就不會(huì)打開第二次,而是在已經(jīng)打開的文件里跳轉(zhuǎn)到對(duì)應(yīng)行
3.還是同一個(gè)對(duì)話框里面,選擇Keys->Assign
New Key...->按F12,如果你已經(jīng)將F12設(shè)置給其他命令,選擇其他的按鍵就行了
下面是一些常用自定義功能:( CUSTOM
COMMANDS )
打開資源管理器并選中當(dāng)前文件
ShellExecute open explorer
/e,/select,%f
查看log
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe"
/command:log /path:%f /notempfile /closeonend
diff
"C:\Program
Files\TortoiseSVN\bin\TortoiseProc.exe" /command:diff /path:%f /notempfile
/closeonend
取得鎖定(check out)
"C:\Program
Files\TortoiseSVN\bin\TortoiseProc.exe" /command:lock /path:%f /notempfile
/closeonend
提交(check in)
"C:\Program
Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:%f /notempfile
/closeonend
更新(update)
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe"
/command:update /path:%f /notempfile /closeonend
更新整個(gè)目錄(update
all)
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update
/path:*.* /notempfile /closeonend
取消鎖定(undo check out)
"C:\Program
Files\TortoiseSVN\bin\TortoiseProc.exe" /command:revert /path:%f /notempfile
/closeonend
在ultriEdit中編輯
"C:\Program Files\UltraEdit-32/uedit32"
%f
在vim中編輯并定位到當(dāng)前行
"C:\Program Files\Vim\vim63\gvim.exe" --remote-silent
+%l %f
匯總其他小技巧:
讓{ 和 } 不縮進(jìn):
Options->Document
Options->Auto Indent->Indent Open Brace/Indent Close Brace
hao
space: SourceInsight 小技巧
1、按住"ctrl",
再用鼠標(biāo)指向某個(gè)變量,點(diǎn)擊一下,就能進(jìn)入這個(gè)變量的定義。
2、今天把一個(gè)用sourceinsight排版整齊的C文件,偶然用VC打開一看,全亂了。研究了半天,發(fā)現(xiàn)SI對(duì)每個(gè)字符的寬度不太一致。
請(qǐng)教同事發(fā)現(xiàn)選上"view --> draft view", 就可以讓每個(gè)字符的寬度一致了。快捷鍵是 "Alt +
F12"
3、"shift+F8" 標(biāo)亮所有文本中光標(biāo)所在位置的單詞
4、跳到某一行:"ctrl +
g"
Source
Insight是閱讀和編寫代碼的好東東,基本上也算得上是經(jīng)典之作了,雖然還有一點(diǎn)點(diǎn)小bug,不過對(duì)于我們這些C程序員來說可是一旦擁有別無所求。下列小技巧是在工作中同事整理總結(jié)的,對(duì)提高工作效率多少有點(diǎn)幫助,其中有些是對(duì)應(yīng)于SVN的,沒有使用SVN做版本管理的人就不要白費(fèi)力氣了。
ShellExecute
open explorer /e,/select,%f
/*作用是在資源管理器中打開當(dāng)前編輯文件并選中*/
/*可以設(shè)置快捷鍵如ctrl+e,這樣能很方便的在資源管理器打開對(duì)應(yīng)的文件,并進(jìn)行tortoiseSVN的相關(guān)操作*/
X:\Progra~1\TortoiseSVN\bin\TortoiseProc.exe
/command:log /path:% /notempfile /closeonend
/*使用前注意更改對(duì)應(yīng)的bin安裝路徑*/
/*作用是直接查看當(dāng)前文件的svn log*/
/*可以設(shè)置快捷鍵如ctrl+l*/
X:\Progra~1\TortoiseSVN\bin\TortoiseProc.exe
/command:diff /path:% /notempfile /closeonend
/*使用前注意更改對(duì)應(yīng)的bin安裝路徑*/
/*作用是直接查看當(dāng)前文件和基準(zhǔn)版本的比較*/
/*可以設(shè)置快捷鍵如ctrl+d*/
Source
Insight中的文件過濾器
遇到在新建工程的時(shí)候,需要加入一些除了.c .h 等之外的文件,比如.s,.scf
,Makefile和ReleaseNotes等文件,而每次新建工程的時(shí)候,即使取消了shown only known document
types,和在點(diǎn)擊Add All之后選擇了Recusively add lower sub-directories
,也還是不能正常識(shí)別這類文件,也就不能加入進(jìn)工程,只能我們自己手動(dòng)雙擊添加到工程中,如果文件少還無所謂,但是包含了很多子文件夾的大工程,這樣實(shí)在不可行。
百度了下,終于發(fā)現(xiàn)解決辦法了:
打開Source
Insight,在新建工程之前,進(jìn)入
Options -> Document Options... Alt-T ->
點(diǎn)擊Document Type的下拉框,然后選擇Make File,在右邊的File
Filter中,在原先的*.mak后面加上一個(gè)分號(hào),即多個(gè)不同過濾規(guī)則以分號(hào)間隔開,再加上*makefile,變成
*.mak;*makefile,并且選中Include when adding to
projects,這樣,以后再新建工程的時(shí)候,就可以識(shí)別makefile或Makefile了(好像此處Source
Insight并不區(qū)分大小寫)。
類似的原理,給其他你想要加入的不同的類型的文件,分別加入到原先的一些文件類型后面,注意要用分號(hào)隔開,或者直接新建一個(gè)文件類型,然后寫上對(duì)應(yīng)的顧慮規(guī)則,比如
點(diǎn)擊
Add Type,填入新文件類型的名字Scatter File,F(xiàn)ile Filter中寫上*.scf,注意再選中下面的Include when adding
to projects,這樣就建立了一個(gè)新的文件類型,
以后新建工程加入文件時(shí)候,系統(tǒng)就能夠識(shí)別后綴是scf的文件了。
當(dāng)然感興趣的,還可以對(duì)你新建立的文件類型進(jìn)行一些格式化設(shè)置。包括Parsing,Tab等等設(shè)置。
Now, Or Never.