




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、顯示行號(hào)
估計(jì)每一個(gè)編程的人都要用。
Option->DocumentOption,調(diào)出如下菜單。在EditOptions下面倒數(shù)第二個(gè),Showlinenumber.
2.擴(kuò)展TAB
為了在不同的編輯器顯示對(duì)齊。
還是上圖,統(tǒng)一的位置,下面倒數(shù)第四個(gè),選中。注意,記得在Tabwidth里面寫入要擴(kuò)展空個(gè)數(shù)。
3.縮進(jìn)
不少人在編碼的時(shí)候,每次按回車后,它自動(dòng)縮進(jìn)很多,而且不對(duì)齊,比較惱火。
具體設(shè)置先看上圖,點(diǎn)擊AutoIndent,彈出如下對(duì)話框:
在AutoIndentType,默認(rèn)為Smart,選中為Simple。
4
.在標(biāo)題欄顯示當(dāng)前文件的全名。
這個(gè)功能很實(shí)用,雖然大家平時(shí)用的少。尤其在一個(gè)工程中有很多相同名字,不同路徑的文件時(shí),通過名字索引往往不知道哪一個(gè),需要知道路徑,我們不得不拉長(zhǎng)下面那個(gè)project窗口。project窗口放在下面還好,如果放在右邊就有的你拉了。
其實(shí)標(biāo)題欄,也有一個(gè)文件路徑顯示,只是顯示不全,中間用省略號(hào)給代替了,我們這里就講怎么設(shè)置全。
直接在標(biāo)題欄,右鍵-》displayoption,調(diào)出顯示菜單,如下圖:
取消下面那個(gè)“Trimlongpathnameswithellipses”就OK了。SourceInsight實(shí)質(zhì)上是一個(gè)支持多種開發(fā)語(yǔ)言(java,c,c
等等)的編輯器,只不過由于其查找、定位、彩色顯示等功能的強(qiáng)大,常被我們當(dāng)成源代碼閱讀工具使用。作為一個(gè)開放源代碼的操作系統(tǒng),Linux附帶的源代碼庫(kù)使得廣大愛好者有了一個(gè)廣泛學(xué)習(xí)、深入鉆研的機(jī)會(huì),特別是Linux內(nèi)核的組織極為復(fù)雜,同時(shí),又不能像windows平臺(tái)的程序一樣,可以使用集成開發(fā)環(huán)境通過察看變量和函數(shù),甚至設(shè)置斷點(diǎn)、單步運(yùn)行、調(diào)試等手段來(lái)弄清楚整個(gè)程序的組織結(jié)構(gòu),使得Linux內(nèi)核源代碼的閱讀變得尤為困難。當(dāng)然Linux下的vim和emacs編輯程序并不是沒有提供變量、函數(shù)搜索,彩色顯示程序語(yǔ)句等功能。它們的功能是非常強(qiáng)大的。比如,vim和emacs就各自內(nèi)嵌了一個(gè)標(biāo)記程序,分別叫做ctag和etag,通過配置這兩個(gè)程序,也可以實(shí)現(xiàn)功能強(qiáng)大的函數(shù)變量搜索功能,但是由于其配置復(fù)雜,linux附帶的有關(guān)資料也不是很詳細(xì),而且,即使建立好標(biāo)記庫(kù),要實(shí)現(xiàn)代碼彩色顯示功能,仍然需要進(jìn)一步的配置(在另一片文章,我將會(huì)講述如何配置這些功能),同時(shí),對(duì)于大多數(shù)愛好者來(lái)說(shuō),可能還不能熟練使用vim和emacs那些功能比較強(qiáng)大的命令和快捷鍵。為了方便的學(xué)習(xí)Linux源程序,我們不妨回到我們熟悉的window環(huán)境下,也算是“師以長(zhǎng)夷以制夷”吧。但是在Window平臺(tái)上,使用一些常見的集成開發(fā)環(huán)境,效果也不是很理想,比如難以將所有的文件加進(jìn)去,查找速度緩慢,對(duì)于非Windows平臺(tái)的函數(shù)不能彩色顯示。于是筆者通過在互聯(lián)網(wǎng)上搜索,終于找到了一個(gè)強(qiáng)大的源代碼編輯器,它的卓越性能使得學(xué)習(xí)Linux內(nèi)核源代碼的難度大大降低,這便是SourceInsight3.0,它是一個(gè)Windows平臺(tái)下的共享軟件,可以從
/上邊下載30天試用版本。由于SourceInsight是一個(gè)Windows平臺(tái)的應(yīng)用軟件,所以首先要通過相應(yīng)手段把Linux系統(tǒng)上的程序源代碼弄到Windows平臺(tái)下,這一點(diǎn)可以通過在linux平臺(tái)上將/usr/src目錄下的文件拷貝到Windows平臺(tái)的分區(qū)上,或者從網(wǎng)上光盤直接拷貝文件到Windows平臺(tái)的分區(qū)來(lái)實(shí)現(xiàn)。下面主要講解如何使用SourceInsight,考慮到閱讀源程序的愛好者都有相當(dāng)?shù)能浖褂盟剑疚膶?duì)于一些瑣碎、人所共知的細(xì)節(jié)略過不提,僅介紹一些主要內(nèi)容,以便大家能夠很快熟練使用本軟件,減少摸索的過程。安裝SourceInsight并啟動(dòng)程序,可以進(jìn)入圖1界面。在工具條上有幾個(gè)值得注意的地方,如圖所示,圖中內(nèi)凹左邊的是工程按鈕,用于顯示工程窗口的情況;右邊的那個(gè)按鈕按下去將會(huì)顯示一個(gè)窗口,里邊提供光標(biāo)所在的函數(shù)體內(nèi)對(duì)其他函數(shù)的調(diào)用圖,通過點(diǎn)擊該窗體里那些函數(shù)就可以進(jìn)入該函數(shù)所在的地方。
圖1SourceInsight界面圖
由于SourceInsight實(shí)質(zhì)上是一個(gè)支持多種開發(fā)語(yǔ)言(java,c,c++等等)的編輯器,只不過由于其查找、定位、彩色顯示等功能的強(qiáng)大,而被我們當(dāng)成源代碼閱讀工具使用。所以,為了有效的閱讀源程序,首先必須選擇功能菜單上的“Project”選項(xiàng)的子菜單“NewProject”新建一個(gè)項(xiàng)目,項(xiàng)目名稱可以自由選定,當(dāng)然也可以選擇刪除(Remove)一個(gè)項(xiàng)目。當(dāng)刪除一個(gè)項(xiàng)目的時(shí)候,并不刪除原有的源代碼文件,只是將該軟件生成的那些工程輔助文件刪除。設(shè)定之后,將會(huì)彈出一個(gè)對(duì)話框如圖2,接受默認(rèn)選擇,如果,硬盤空間足夠,可以將第一個(gè)復(fù)選框選上,該選項(xiàng)將會(huì)需要與源代碼大致同等的空間來(lái)建立一個(gè)本地?cái)?shù)據(jù)庫(kù)以加快查找的速度。
圖2工程設(shè)置
點(diǎn)擊“OK”按鈕,接受選擇后,將會(huì)有一個(gè)新的對(duì)話框彈出,在這個(gè)對(duì)話框里,可以選擇將要閱讀的文件加入工程,一種方式是通過在FileName中輸入要閱讀源代碼文件的名稱,點(diǎn)擊“Add”按鈕將其加入,也可以通過其中“AddAll”和“AddTree”兩個(gè)按鈕可以將選中目錄的所有文件加入到工程中,其中“AddAll”選項(xiàng)會(huì)提示加入頂層文件和遞歸加入所有文件兩種方式,而“AddTree”相當(dāng)于“AddAll”選項(xiàng)的遞歸加入所有文件,可以根據(jù)需要使用,就我來(lái)說(shuō),更喜歡“AddTree”一些。由于該程序采用了部分打開文件的方式,沒有用到的文件不會(huì)打開,所以,加入數(shù)千個(gè)文件也不用擔(dān)心加入的文件超出程序的所能容忍的最大值,我就是采用“AddTree”的方式將Linux2.4內(nèi)核的四千五百九十一個(gè)文件加入的。
圖3添加文件
加入文件后,點(diǎn)擊一個(gè)文件,可以出現(xiàn)使用界面,如圖4所示,其中,右邊的那個(gè)窗口(LinuxProject,即工程窗口)缺省按照字母順序列出當(dāng)前工程中所有的文件。
圖4工作窗口
點(diǎn)擊一個(gè)文件就可以打開該文件,顯示如圖5所示,進(jìn)入到右邊的那個(gè)窗口分別可以以文件列表的方式,列出所有的文件,每個(gè)窗體下邊有一排按鈕,左邊的窗口(21142.c)從左至右分別為:按字母順序排列所有標(biāo)記、按照文件中行數(shù)順序排列標(biāo)記、按照類型排列標(biāo)記、瀏覽本地文件標(biāo)記、標(biāo)記窗口屬性。右邊的窗口(LinuxProject)從左至右分別為:按字母順序文件列表、顯示文件夾、按照文件類型歸類文件、全部文件的所有標(biāo)記列表、按照標(biāo)記類型歸類標(biāo)記、跳轉(zhuǎn)到定義處、顯示標(biāo)記信息、瀏覽工程標(biāo)記、查找函數(shù)調(diào)用、工程屬性,其中全部文件的所有標(biāo)記列表選項(xiàng)可能要一段時(shí)間抽取標(biāo)記,同步到數(shù)據(jù)庫(kù)去,如果開始選擇了建立標(biāo)記數(shù)據(jù)庫(kù),將會(huì)在今后節(jié)省同步時(shí)間,最有用的莫過于瀏覽標(biāo)記信息和查找函數(shù)調(diào)用,前者可以通過“Jump”按鈕在不同的地方查找同樣的標(biāo)志,還可以通過“Reference”按鈕結(jié)合后者進(jìn)行全局的標(biāo)記查找。
Reference功能是SourceInsight的特色之一,它可以在速度極快的在整個(gè)工程中找到所有的標(biāo)記,并且在該行程序的前邊加上紅色箭頭的小按鈕鏈接上。圖6是一個(gè)Reference搜索后的結(jié)果,它可以有兩種模式,一種集中顯示結(jié)果,圖6顯示的就是這種模式,在這種模式下,可以通過前邊的紅色箭頭小按鈕進(jìn)入另外一種模式,該標(biāo)記的具體的所在處,也可以通過標(biāo)記的具體所在處點(diǎn)擊紅色箭頭小按鈕進(jìn)入警種模式,還可以通過工具條上的兩個(gè)紅色小箭頭直接在第二種模式下前后移動(dòng),察看相應(yīng)信息。它的這個(gè)強(qiáng)大的功能使得閱讀Linux源程序有如神助。但是要注意的是,當(dāng)進(jìn)行了第二次“Reference”時(shí),它會(huì)提示你將結(jié)果集附加在第一個(gè)結(jié)果集的后邊還是取代第一個(gè)結(jié)果集。如果選擇前者,不能對(duì)結(jié)果集根據(jù)前后兩次搜索結(jié)果進(jìn)行分類,然后在其子類里進(jìn)行移動(dòng),只能在整個(gè)結(jié)果集里移動(dòng);如果,選擇后者,結(jié)果集將會(huì)被替換為第二次搜索的結(jié)果,略微有些不方便。
圖6Reference的搜索結(jié)果
SourceInsight設(shè)置
1、背景色選擇
要改變背景色Options->preference->windowsbackground->color設(shè)置背景色2、解決字符等寬對(duì)齊問題。
SIS默認(rèn)字體是VERDANA,很漂亮。這網(wǎng)頁(yè)上應(yīng)該也是用的VERDANA字體。但由于美觀的緣故,VERDANA字體是不等寬的。比如下面兩行
llllllllll
MMMMMMMMMM
同樣10個(gè)字符,長(zhǎng)度差多了.用VERDANA來(lái)看程序,有些本應(yīng)該對(duì)齊的就歪了。解放方法是使用等寬的字體,但肯定比較丑。比較推薦的是用CourierNew。3、解決TAB鍵縮進(jìn)問題
Options->DocumentOptions里面的右下角EditingOptions欄里,把Expandtabs勾起來(lái),然后確定。OK,現(xiàn)在TAB鍵的縮進(jìn)和四個(gè)空格的縮進(jìn)在SIS里面看起來(lái)就對(duì)齊咯
4、SI中的自動(dòng)對(duì)齊設(shè)置:
在C程序里,如果遇到行末沒有分號(hào)的語(yǔ)句,如IF,WHILE,SWITCH等,寫到該行末按回車,則新行自動(dòng)相對(duì)上一行縮進(jìn)兩列。
Option->Documentoption下的AutoIndient中AutoIndientType有三種類型None,Simple,Smart。個(gè)人推薦選用Simple類型。5、向項(xiàng)目中添加文件時(shí),只添加特定類型的文件(文件類型過濾器)
編輯匯編代碼時(shí),在SIS里建立PROJECT并ADDTREE的時(shí)候,根據(jù)默認(rèn)設(shè)置并不會(huì)把該TREE里面所有匯編文件都包含進(jìn)來(lái)
只加了.inc和.asm后綴的,.s后綴的沒有。而且用SIS打開.s的文件,一片黑白沒有色彩,感覺回到DOS的EDIT時(shí)代了……
解決方法是在Options->DocumentOptions里面,點(diǎn)左上的DocumentType下拉菜單,選擇x86AsmSourceFile,
然后在右邊的Filefilter里*.asm;*.inc;的后面加上*.s;接著CLOSE就可以了。
上面問題解決了,但注意加入*.s后還需要重新ADDTREE一遍才能把這些匯編加到PROJECT里面。6、添加文件類型
用戶可以定義自己的類型,Options->DocumentOptions->addtype,定義文件類型名以及文件名后綴。
勾選includewhenaddingtoprojects在添加目錄下文件到工程是該類文件就會(huì)添加進(jìn)SI的工程。
如果需要將所有文件添加進(jìn)SI的工程,可以定義一種文件類型*.*。
7、恢復(fù)ctrl+a的全選功能
通過關(guān)鍵詞save找到saveall,更改為ctrl+shift+a,通過關(guān)鍵詞select找到selectall,更改為ctrl+a
SourceInsight常用的快捷鍵:
Ctrl+=:Jumptodefinition
Alt+/:Lookupreference
F3:searchbackward
F4:searchforward
F5:gotoLine
F7:Lookupsymbols
F8:Lookuplocalsymbols
F9:Identleft
F10:Identright
Alt+,:Jumpbackword
Alt+.:Jumpforward
Shift+F3:searchthewordundercusorbackward
Shift+F4:searchthewordundercusorforward
F12:incrementalsearch
Shift+Ctrl+f:searchinproject
shift+F8:hilightword
SourceInsight的窗口操作:
projectwindowCtrl+O打開
symbolwindowAlt+F8打開和關(guān)閉
ContexWindow自定義鍵打開和關(guān)閉
RelationWindow自定義鍵打開先鎖定再刷新聯(lián)系在SourceInsight中添加自定義功能的步驟如下:
1.SourceInsight中,Options->CustomCommands...->Add...,NewCommandname隨便寫,我的是"EditwithVim"
2.Run中寫入:"C:\ProgramFiles\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->AssignNewKey...->按F12,如果你已經(jīng)將F12設(shè)置給其他命令,選擇其他的按鍵就行了下面是一些常用自定義功能:(CUSTOMCOMMANDS)打開資源管理器并選中當(dāng)前文件
ShellExecuteopenexplorer/e,/select,%f
查看log
"C:\ProgramFiles\TortoiseSVN\bin\TortoiseProc.exe"/command:log/path:%f/notempfile/closeonend
diff
"C:\ProgramFiles\TortoiseSVN\bin\TortoiseProc.exe"/command:diff/path:%f/notempfile/closeonend
取得鎖定(checkout)
"C:\ProgramFiles\TortoiseSVN\bin\TortoiseProc.exe"/command:lock/path:%f/notempfile/closeonend
提交(checkin)
"C:\ProgramFiles\TortoiseSVN\bin\TortoiseProc.exe"/command:commit/path:%f/notempfile/closeonend
更新(update)
"C:\ProgramFiles\TortoiseSVN\bin\TortoiseProc.exe"/command:update/path:%f/notempfile/closeonend
更新整個(gè)目錄(updateall)
"C:\ProgramFiles\TortoiseSVN\bin\TortoiseProc.exe"/command:update/path:*.*/notempfile/closeonend
取消鎖定(undocheckout)
"C:\ProgramFiles\TortoiseSVN\bin\TortoiseProc.exe"/command:revert/path:%f/notempfile/closeonend
在ultriEdit中編輯
"C:\ProgramFiles\UltraEdit-32/uedit32"%f
在vim中編輯并定位到當(dāng)前行
"C:\ProgramFiles\Vim\vim63\gvim.exe"--remote-silent+%l%f匯總其他小技巧:讓{和}不縮進(jìn):Options->DocumentOptions->AutoIndent->IndentOpenBrace/IndentCloseBracehaospace: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-->draftview",就可以讓每個(gè)字符的寬度一致了??旖萱I是"Alt+F12"
3、"shift+F8"標(biāo)亮所有文本中光標(biāo)所在位置的單詞
4、跳到某一行:"ctrl+g"SourceInsight是閱讀和編寫代碼的好東東,基本上也算得上是經(jīng)典之作了,雖然還有一點(diǎn)點(diǎn)小bug,不過對(duì)于我們這些C程序員來(lái)說(shuō)可是一旦擁有別無(wú)所求。下列小技巧是在工作中同事整理總結(jié)的,對(duì)提高工作效率多少有點(diǎn)幫助,其中有些是對(duì)應(yīng)于SVN的,沒有使用SVN做版本管理的人就不要白費(fèi)力氣了。
ShellExecuteopenexplorer/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)前文件的svnlog*/
/*可以設(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*/
SourceInsight中的文件過濾器遇到在新建工程的時(shí)候,需要加入一些除了.c.h等之外的文件,比如.s,.scf,Makefile和ReleaseNotes等文件,而每次新建工程的時(shí)候,即使取消了shownonlyknowndocumenttypes,和在點(diǎn)擊AddAll之后選擇了Recusivelyaddlowersub-directories
,也還是不能正常識(shí)別這類文件,也就不能加入進(jìn)工程,只能我們自己手動(dòng)雙擊添加到工程中,如果文件少還無(wú)所謂,但是包含了很多子文件夾的大工程,這樣實(shí)在不可行。百度了下,終于發(fā)現(xiàn)解決辦法了:打開SourceInsight,在新建工程之前,進(jìn)入Options
->
DocumentOptions...Alt-T
->點(diǎn)擊DocumentType的下拉框,然后選擇MakeFile,在右邊的FileFilter中,在原先的*.mak后面加上一個(gè)分號(hào),即多個(gè)不同過濾規(guī)則以分號(hào)間隔開,再加上*makefile,變成*.mak;*makefile,并且選中Includewhenaddingtoprojects,這樣,以后再新建工程的時(shí)候,就可以識(shí)別makefile或Makefile了(好像此處SourceInsight并不區(qū)分大小寫)。類似的原理,給其他你想要加入的不同的類型的文件,分別加入到原先的一些文件類型后面,注意要用分號(hào)隔開,或者直接新建一個(gè)文件類型,然后寫上對(duì)應(yīng)的顧慮規(guī)則,比如點(diǎn)擊AddType,填入新文件類型的名字ScatterFile,F(xiàn)ileFilter中寫上*.scf,注意再選中下面的Includewhenaddingtoprojects,這樣就建立了一個(gè)新的文件類型,以后新建工程加入文件時(shí)候,系統(tǒng)就能夠識(shí)別后綴是scf的文件了。當(dāng)然感興趣的,還可以對(duì)你新建立的文件類型進(jìn)行一些格式化設(shè)置。包括Parsing,Tab等等設(shè)置。sourceinsight快捷鍵及使用技巧
退出程序
:Alt+F4重畫屏幕
:Ctrl+Alt+Space完成語(yǔ)法
:Ctrl+E復(fù)制一行
:Ctrl+K恰好復(fù)制該位置右邊的該行的字符
:Ctrl+Shift+K復(fù)制到剪貼板
:Ctrl+Del剪切一行
:Ctrl+U剪切該位置右邊的該行的字符
:Ctrl+;剪切到剪貼板
:Ctrl+Shift+X剪切一個(gè)字
:Ctrl+,左邊縮進(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激活語(yǔ)法窗口
:Alt+L回到該行的開始
: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+,,Thumb1Click后退到索引
:Alt+M向前
:Alt+.,Thumb2Click轉(zhuǎn)到行
:F5,Ctrl+G轉(zhuǎn)到下一個(gè)修改
:Alt+(KeyPad)+轉(zhuǎn)到下一個(gè)鏈接
:Shift+F9,Ctrl+Shift+L回到前一個(gè)修改
:Alt+(KeyPad)-跳到連接(就是語(yǔ)法串口列表的地方)
:Ctrl+L跳到匹配
:Alt+]下一頁(yè)
:PgDn,(KeyPad)PgDn上一頁(yè)
: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選擇上頁(yè)
:Shift+PgDn,Shift+(KeyPad)PgDn選擇下頁(yè)
: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排列語(yǔ)法窗口(有三種排列方式分別按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瀏覽本地語(yǔ)法(彈出該文件語(yǔ)法列表窗口,如果你光標(biāo)放到一個(gè)變量/函數(shù)等,那么列出本文件該變量/函數(shù)等的信息)
:F8瀏覽工程語(yǔ)法
:F7,Alt+G跳到基本類型(即跳到原型)
:Alt+0跳到定義出(也就是聲明)
:Ctrl+=,Ctrl+LClick(select),Ctrl+DoubleLClick檢查引用
:Ctrl+/語(yǔ)法信息(彈出該語(yǔ)法的信息)
:Alt+/,Ctrl+RClick(select)高亮當(dāng)前單詞
:Shift+F8語(yǔ)法窗口(隱藏/顯示語(yǔ)法窗口)
:Alt+F8關(guān)閉窗口
:Alt+F6,Ctrl+F4最后一個(gè)窗口
:Ctrl+Tab,Ctrl+Shift+Tab
幾個(gè)較常用的快捷鍵
默認(rèn)情況下,SI已經(jīng)定義了很多非常實(shí)用的快捷鍵:
F5
指定行號(hào),實(shí)現(xiàn)行跳轉(zhuǎn),在遇到編譯錯(cuò)誤的時(shí)候,能特別方便的找到出錯(cuò)行。
Shift+F8
高亮顯示指定標(biāo)識(shí),快速瀏覽標(biāo)識(shí)的使用情況。
Ctrl+鼠標(biāo)點(diǎn)擊標(biāo)識(shí)
直接跳轉(zhuǎn)至標(biāo)識(shí)定義處。
Ctrl+F
本文件內(nèi)查找。
F3
本文件查找結(jié)果的上一個(gè)。
F4
本文件查找結(jié)果的下一個(gè)。
F7
打開BrowseProjectSymbols窗口,快速瀏覽工程內(nèi)標(biāo)識(shí)定義。
Ctrl+M
創(chuàng)建或查找書簽,方便下次找回此位置。
SourceInsight技巧收集
1、背景色選擇
要改變背景色Options->preference->windowsbackground->color設(shè)置背景色
2、解決字符等寬對(duì)齊問題。
SIS默認(rèn)字體是VERDANA,很漂亮。這網(wǎng)頁(yè)上應(yīng)該也是用的VERDANA字體。但由于美觀的緣故,VERDANA字體是不等寬的。比如下面兩行
llllllllll
MMMMMMMMMM
同樣10個(gè)字符,長(zhǎng)度差多了.用VERDANA來(lái)看程序,有些本應(yīng)該對(duì)齊的就歪了。解放方法是使用等寬的字體,但肯定比較丑。比較推薦的是用CourierNew。
3、解決TAB鍵縮進(jìn)問題
Options->DocumentOptions里面的右下角EditingOptions欄里,把Expandtabs勾起來(lái),然后確定。OK,現(xiàn)在TAB鍵的縮進(jìn)和四個(gè)空格的縮進(jìn)在SIS里面看起來(lái)就對(duì)齊咯
4、SI中的自動(dòng)對(duì)齊設(shè)置:
在C程序里,如果遇到行末沒有分號(hào)的語(yǔ)句,如IF,WHILE,SWITCH等,寫到該行末按回車,則新行自動(dòng)相對(duì)上一行縮進(jìn)兩列。
Option->Documentoption下的AutoIndient中AutoIndientType有三種類型None,Simple,Smart。個(gè)人推薦選用Simple類型。
5、向項(xiàng)目中添加文件時(shí),只添加特定類型的文件(文件類型過濾器)
編輯匯編代碼時(shí),在SIS里建立PROJECT并ADDTREE的時(shí)候,根據(jù)默認(rèn)設(shè)置并不會(huì)把該TREE里面所有匯編文件都包含進(jìn)來(lái)
只加了.inc和.asm后綴的,.s后綴的沒有。而且用SIS打開.s的文件,一片黑白沒有色彩,感覺回到DOS的EDIT時(shí)代了……
解決方法是在Options->DocumentOptions里面,點(diǎn)左上的DocumentType下拉菜單,選擇x86AsmSourceFile,
然后在右邊的Filefilter里*.asm;*.inc;的后面加上*.s;接著CLOSE就可以了。
上面問題解決了,但注意加入*.s后還需要重新ADDTREE一遍才能把這些匯編加到PROJECT里面。
6、添加文件類型
用戶可以定義自己的類型,Options->DocumentOptions->addtype,定義文件類型名以及文件名后綴。
勾選includewhenaddingtoprojects在添加目錄下文件到工程是該類文件就會(huì)添加進(jìn)SI的工程。
如果需要將所有文件添加進(jìn)SI的工程,可以定義一種文件類型*.*。
7、恢復(fù)ctrl+a的全選功能
通過關(guān)鍵詞save找到saveall,更改為ctrl+shift+a,通過關(guān)鍵詞select找到selectall,更改為ctrl+a
SourceInsight常用的快捷鍵:
Ctrl+=:Jumptodefinition
Alt+/:Lookupreference
F3:searchbackward
F4:searchforward
F5:gotoLine
F7:Lookupsymbols
F8:Lookuplocalsymbols
F9:Identleft
F10:Identright
Alt+,:Jumpbackword
Alt+.:Jumpforward
Shift+F3:searchthewordundercusorbackward
Shift+F4:searchthewordundercusorforward
F12:incrementalsearch
Shift+Ctrl+f:searchinproject
shift+F8:hilightword
SourceInsight的窗口操作:
projectwindowCtrl+O打開
symbolwindowAlt+F8打開和關(guān)閉
ContexWindow自定義鍵打開和關(guān)閉
RelationWindow自定義鍵打開先鎖定再刷新聯(lián)系
在SourceInsight中添加自定義功能的步驟如下:
1.SourceInsight中,Options->CustomCommands...->Add...,NewCommandname隨便寫,我的是"EditwithVim"
2.Run中寫入:"C:ProgramFilesVimvim63gvim.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->AssignNewKey...->按F12,如果你已經(jīng)將F12設(shè)置給其他命令,選擇其他的按鍵就行了
下面是一些常用自定義功能:(CUSTOMCOMMANDS)
打開資源管理器并選中當(dāng)前文件
ShellExecuteopenexplorer/e,/select,%f
查看log
"C:ProgramFilesTortoiseSVNinTortoiseProc.exe"/command:log/path:%f/notempfile/closeonend
diff
"C:ProgramFilesTortoiseSVNinTortoiseProc.exe"/command:diff/path:%f/notempfile/closeonend
取得鎖定(checkout)
"C:ProgramFilesTortoiseSVNinTortoiseProc.exe"/command:lock/path:%f/notempfile/closeonend
提交(checkin)
"C:ProgramFilesTortoiseSVNinTortoiseProc.exe"/command:commit/path:%f/notempfile/closeonend
更新(update)
"C:ProgramFilesTortoiseSVNinTortoiseProc.exe"/command:update/path:%f/notempfile/closeonend
更新整個(gè)目錄(updateall)
"C:ProgramFilesTortoiseSVNinTortoiseProc.exe"/command:update/path:*.*/notempfile/closeonend
取消鎖定(undocheckout)
"C:ProgramFilesTortoiseSVNinTortoiseProc.exe"/command:revert/path:%f/notempfile/closeonend
在ultriEdit中編輯
"C:ProgramFilesUltraEdit-32/uedit32"%f
在vim中編輯并定位到當(dāng)前行
"C:ProgramFilesVimvim63gvim.exe"--remote-silent+%l%f
匯總其他小技巧:
讓{和}不縮進(jìn):
Options->DocumentOptions->AutoIndent->IndentOpenBrace/IndentCloseBrace
haospace: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-->draftview",就可以讓每個(gè)字符的寬度一致了??旖萱I是"Alt+F12"
3、"shift+F8"標(biāo)亮所有文本中光標(biāo)所在位置的單詞
4、跳到某一行:"ctrl+g"
SourceInsight是閱讀和編寫代碼的好東東,基本上也算得上是經(jīng)典之作了,雖然還有一點(diǎn)點(diǎn)小bug,不過對(duì)于我們這些C程序員來(lái)說(shuō)可是一旦擁有別無(wú)所求。下列小技巧是在工作中同事整理總結(jié)的,對(duì)提高工作效率多少有點(diǎn)幫助,其中有些是對(duì)應(yīng)于SVN的,沒有使用SVN做版本管理的人就不要白費(fèi)力氣了。
ShellExecuteopenexplorer/e,/select,%f
/*作用是在資源管理器中打開當(dāng)前編輯文件并選中*/
/*可以設(shè)置快捷鍵如ctrl+e,這樣能很方便的在資源管理器打開對(duì)應(yīng)的文件,并進(jìn)行tortoiseSVN的相關(guān)操作*/
X:Progra~1TortoiseSVNinTortoiseProc.exe/command:log/path:%/notempfile/closeonend
/*使用前注意更改對(duì)應(yīng)的bin安裝路徑*/
/*作用是直接查看當(dāng)前文件的svnlog*/
/*可以設(shè)置快捷鍵如ctrl+l*/
X:Progra~1TortoiseSVNinTortoiseProc.exe/command:diff/path:%/notempfile/closeonend
/*使用前注意更改對(duì)應(yīng)的bin安裝路徑*/
/*作用是直接查看當(dāng)前文件和基準(zhǔn)版本的比較*/
/*可以設(shè)置快捷鍵如ctrl+d*/
SourceInsight中的文件過濾器
遇到在新建工程的時(shí)候,需要加入一些除了.c.h等之外的文件,比如.s,.scf,Makefile和ReleaseNotes等文件,而每次新建工程的時(shí)候,即使取消了shownonlyknowndocumenttypes,和在點(diǎn)擊AddAll之后選擇了Recusivelyaddlowersub-directories,也還是不能正常識(shí)別這類文件,也就不能加入進(jìn)工程,只能我們自己手動(dòng)雙擊添加到工程中,如果文件少還無(wú)所謂,但是包含了很多子文件夾的大工程,這樣實(shí)在不可行。
百度了下,終于發(fā)現(xiàn)解決辦法了:
打開SourceInsight,在新建工程之前,進(jìn)入
Options->DocumentOptions...Alt-T
->點(diǎn)擊DocumentType的下拉框,然后選擇MakeFile,在右邊的FileFilter中,在原先的*.mak后面加上一個(gè)分號(hào),即多個(gè)不同過濾規(guī)則以分號(hào)間隔開,再加上*makefile,變成*.mak;*makefile,并且選中Includewhenaddingtoprojects,這樣,以后再新建工程的時(shí)候,就可以識(shí)別makefile或Makefile了(好像此處SourceInsight并不區(qū)分大小寫)。
類似的原理,給其他你想要加入的不同的類型的文件,分別加入到原先的一些文件類型后面,注意要用分號(hào)隔開,或者直接新建一個(gè)文件類型,然后寫上對(duì)應(yīng)的顧慮規(guī)則,比如
點(diǎn)擊AddType,填入新文件類型的名字ScatterFile,F(xiàn)ileFilter中寫上*.scf,注意再選中下面的Includewhenaddingtoprojects,這樣就建立了一個(gè)新的文件類型,以后新建工程加入文件時(shí)候,系統(tǒng)就能夠識(shí)別后綴是scf的文件了。
當(dāng)然感興趣的,還可以對(duì)你新建立的文件類型進(jìn)行一些格式化設(shè)置。包括Parsing,Tab等等設(shè)置。在windows下開發(fā)linux程序,使用vc2005有點(diǎn)大材小用,用linux下的vim吧,又有很多的記憶負(fù)擔(dān)。
那就用sourceinsight吧。
0)跳轉(zhuǎn)的函數(shù)定義處
ctrl+=
跳轉(zhuǎn)到函數(shù)原型:???
1){}符號(hào)的自動(dòng)縮進(jìn)。換行時(shí),默認(rèn)是在上一行左端向右縮進(jìn)一個(gè)tab,但我想讓對(duì)齊,怎么辦?
新開一個(gè)PROJECT后,點(diǎn)Options->DocumentOptions,彈出對(duì)話框后先在左上角選好要用的DocumentType,主要就是設(shè)CSourceFile和C++SourceFile,選好后點(diǎn)右邊中間的AutoIndent調(diào)整縮進(jìn)。單選里一定要點(diǎn)Smart,右邊有兩個(gè)復(fù)選框IndentOpenBrace和IndentCloseBrace,具體效果是如何的可以看SIS的HELP。
勾選AutoIndent和SMART的效果:在C程序里,如果遇到行末沒有分號(hào)的語(yǔ)句,如IF,WHILE,SWITCH等,寫到該行末按回車,則新行自動(dòng)相對(duì)上一行縮進(jìn)四列.
勾掉indentOpenBrace和IndentCloseBrace的效果:繼上一段,在相對(duì)縮進(jìn)行里,如果輸入"{"或"}",則自動(dòng)和上一行列對(duì)齊。
參考:/yjzl1911/archive/2010/06/13/5669037.aspx
2)跳轉(zhuǎn)到最近編輯過的地方有點(diǎn)像vc2005的ctrl+<-和ctrl+->.
si的跳轉(zhuǎn)快捷鍵是:alt+,alt+.分別是alt+逗號(hào)和alt+句號(hào)!
3)跳到指定行ctrl+g,這和vc2005一致
4)F3向上搜索,F4向下搜索
shift+F4:快速搜索.不用調(diào)出搜索界面,雙擊關(guān)鍵字選擇關(guān)鍵字即可搜索.
5)快速注釋/取消注釋代碼段
好像沒有內(nèi)置這樣的功能,使用#if0#endif吧
6)如何開一個(gè)函數(shù)的左大括號(hào){跳轉(zhuǎn)到函數(shù)結(jié)束的右大括號(hào)位置}
vc2005我記得是直接輸入ctrl+}就會(huì)在兩個(gè){}之間來(lái)回跳轉(zhuǎn)到塊的下面
:Ctrl+Shift+]到塊的上面
:Ctrl+Shift+[
另外,si雙擊{會(huì)選中函數(shù)的全部?jī)?nèi)容
7)檢查引用
:Ctrl+/
這個(gè)功能非常有用哦,就像vc2005里面的查找所有引用
8)列操作雖然開篇時(shí)就說(shuō)過,SI的列操作功能比較弱,但不等于沒有。先按下Alt鍵,接著就可用鼠標(biāo)進(jìn)行列選擇,然后就可以刪除指定的列
9)Shift+F8高亮顯示指定標(biāo)識(shí),快速瀏覽標(biāo)識(shí)的使用情況。
10)
項(xiàng)目-項(xiàng)目設(shè)置-選中在數(shù)據(jù)庫(kù)中存儲(chǔ)局部函數(shù)符號(hào)。不管那么多,選中即可。
選項(xiàng)-參數(shù)設(shè)置-符號(hào)查找-項(xiàng)目符號(hào)路徑-添加項(xiàng)目到路徑??梢园阎敖⒑玫膌inux內(nèi)核頭文件項(xiàng)目加到這里的符號(hào)路徑,這樣你寫代碼是,比如str會(huì)自動(dòng)提示strcmpstrcpy等等東西,而且可以直接看到函數(shù)原型,功能一點(diǎn)不次于vc2005!
11)讓sourceinsight顯示文件的全路徑
寫代碼時(shí),實(shí)時(shí)的知道當(dāng)前編輯的文件是硬盤上的哪個(gè)文件時(shí)非常有必要的,不然萬(wàn)一編輯錯(cuò)了怎么辦?特別是在有同名文件的時(shí)候.這點(diǎn)vc2005就非常好,在標(biāo)簽上右鍵就可以打開文件位置.
si也可以滿足你.
只是不能打開文件位置.
選項(xiàng)-參數(shù)設(shè)置-顯示,取消選中"用省略號(hào)修剪長(zhǎng)路徑名"(該選項(xiàng)出現(xiàn)在倒數(shù)第二行).
12)
如何更高效的使用查找引用,切換到下一個(gè)引用,上一個(gè)引用?
當(dāng)使用查找引用功能時(shí),會(huì)彈出一個(gè)查找結(jié)果頁(yè)面,頁(yè)面的左側(cè)有個(gè)小按鈕,可以調(diào)到引用的實(shí)際位置。但是每次看完一個(gè)要回來(lái)才能看下一個(gè)很不方便,其實(shí),在工具欄上有兩個(gè)小按鈕,可以跳到下一個(gè)引用和上一個(gè)引用。并且Alt+F9
可以直接跳轉(zhuǎn)到下一個(gè)。
另外,查找引用的時(shí)候,還是用“簡(jiǎn)單字符串”模式查找比較靠譜吧,速度慢點(diǎn),我用另外一個(gè)默認(rèn)總是找到漏掉幾個(gè),不爽!
13)
關(guān)于刪掉半個(gè)漢字的問題
網(wǎng)上流傳一個(gè)*
豬哥
作品可以解決該問題,方法如下:
a)記事本編輯另存為:SuperBackspace.em即可。
b)由于我的si是綠色的,沒有Base項(xiàng)目,只有自己在D:/我的文檔/SourceInsight/Projects/Base路徑下新建一個(gè)Base項(xiàng)目。
c)將SuperBackspace.em加入到當(dāng)前base項(xiàng)目中來(lái)。
方法如下:
c.1)選項(xiàng)-文檔選項(xiàng)-解析-語(yǔ)言-SIMacroLanguage,然后選擇上面文檔類型-SourceInsight宏文件,文件過濾器里面是*.EM
c.2)然后找到superasespace.em添加進(jìn)來(lái)。確保在右側(cè)的文件列表里可以看到
d)重啟SI
e)添加鍵映射,選項(xiàng)-鍵關(guān)聯(lián)-在左側(cè)的列表里找到“宏:SuperBackspace”,點(diǎn)擊分配新建,按鍵盤的Backspace鍵,擊鍵出出現(xiàn)Backspace。ok
f)試試刪除半個(gè)漢字是否ok了?
/**
*
╭︿︿︿╮
*
{/../}
*
(
(oo)
)
*
︶︶︶︶
*
豬哥
作品
*
*2006丁兆杰DingZhaojie
*
zhaojie.ding@
*
*SuperBackspaceVersion0.1beta
*
*代替SourceInsight原有的Backspace功能(希望如此)
*增加了對(duì)雙字節(jié)漢字的支持,在刪除漢字的時(shí)候也能同時(shí)刪除漢字的高字節(jié)而緩解半個(gè)漢字問題
*能夠?qū)鈽?biāo)在漢字中間的情況進(jìn)行自動(dòng)修正
*
*安裝:
*①?gòu)?fù)制入SourceInsight安裝目錄;
*②Project→OpenProject,打開Base項(xiàng)目;
*③將復(fù)制過去的SuperBackspace.em添加入Base項(xiàng)目;
*④重啟SourceInsight;
*⑤Options→KeyAssignments,將Marco:SuperBackspace綁定到BackSpace鍵;
*⑥Enjoy?。?/p>
*
*Thisprogramisfreesoftware;youcanredistributeitand/ormodify
*itunderthetermsoftheGNUGeneralPublicLicenseaspublishedby
*theFreeSoftwareFoundation;eitherversion2oftheLicense,or
*(atyouroption)anylaterversion.
*
*Thisprogramisdistributedinthehopethatitwillbeuseful,
*butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyof
*MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.
Seethe
*GNUGeneralPublicLicenseformoredetails.
*
*YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense
*alongwiththisprogram;ifnot,writetotheFreeSoftware
*Foundation,Inc.,59TemplePlace,Suite330,Boston,MA
02111-1307
USA
*/
macroSuperBackspace()
{
hwnd=GetCurrentWnd();
hbuf=GetCurrentBuf();
if(hbuf==0)
stop;
//emptybuffer
//getcurrentcursorpostion
ipos=GetWndSelIchFirst(hwnd);
//getcurrentlinenumber
ln=GetBufLnCur(hbuf);
if((GetBufSelText(hbuf)!="")||(GetWndSelLnFirst(hwnd)!=GetWndSelLnLast(hwnd))){
//sth.wasselected,delselection
SetBufSelText(hbuf,"");
//stupid&buggysourceinsight:(
//delthe""
SuperBackspace(1);
stop;
}
//copycurrentline
text=GetBufLine(hbuf,ln);
//getstringlength
len=strlen(text);
//ifthecursorisatthestartofline,combinewithprevline
if(ipos==0||len==0){
if(ln<=0)
stop;
//topoffile
ln=ln-1;
//donotuse"ln--"forcompatibilitywitholderversions
prevline=GetBufLine(hbuf,ln);
prevlen=strlen(prevline);
//combinetwolines
text=cat(prevline,text);
//deltwolines
DelBufLine(hbuf,ln);
DelBufLine(hbuf,ln);
//insertthecombinedone
InsBufLine(hbuf,ln,text);
//setthecursorposition
SetBufIns(hbuf,ln,prevlen);
stop;
}
num=1;//delonechar
if(ipos>=1){
//processChinesecharacter
i=ipos;
count=0;
while(AsciiFromChar(text[i-1])>=160){
i=i-1;
count=count+1;
if(i==0)
break;
}
if(count>0){
//Ithinkitmightbeatwo-bytecharacter
num=2;
//Thisidiotdoesnotsupportmodandbitwiseoperators
if((count/2*2!=count)&&(ipos<len))
ipos=ipos+1;
//adjustcursorposition
}
}
//keepingsafe
if(ipos-num<0)
num=ipos;
//delchar(s)
text=cat(strmid(text,0,ipos-num),strmid(text,ipos,len));
DelBufLine(hbuf,ln);
InsBufLine(hbuf,ln,text);
SetBufIns(hbuf,ln,ipos-num);
stop;
}
xx)
本來(lái)以為自己對(duì)sourceInsight的使用還算熟練的,結(jié)果發(fā)現(xiàn)它還支持這么多先進(jìn)的以前沒玩過,或者以為它實(shí)現(xiàn)不了的功能。非常棒??!關(guān)于sourceInsight3.5的縮進(jìn)問題和庫(kù)函數(shù)補(bǔ)全問題。由于vc自動(dòng)縮進(jìn)很智能,而且編寫庫(kù)函數(shù)能自動(dòng)提示補(bǔ)全函數(shù)名并提示參數(shù)組成,很方便。今天研究得出SourceInsight3.5也可以實(shí)現(xiàn)這兩個(gè)效果。1.Preferences->SymbolsLookups:AddProjecttoPath...選擇"D:/ProgramFiles/MicrosoftVisualStudio6.0/VC98/Include后它默認(rèn)取名為CStandard.PR,點(diǎn)加入所有頭文件確定后就可以看到Projectsymbolpath:下面的文本框里面多了一個(gè)字符串"D:/ProgramFiles/MicrosoftVisualStudio6.0/VC98/Include/CStandard.PR",這樣點(diǎn)確定后,以后所有的工程都可以自動(dòng)補(bǔ)全庫(kù)函數(shù)和看到庫(kù)函數(shù)的原型了。
2.Alt+T打開DocumentOptions對(duì)話框,如果你是c++代碼,那么選擇c++類型,filefilter下面輸入框下面的兩個(gè)復(fù)選框第一個(gè)UseoptionsfromDefaulttype不要選中,一定不要選,要不indent調(diào)不對(duì)的,EditingOptions下面的復(fù)選框選上:Allowauto-complete自動(dòng)補(bǔ)齊功能,少打幾個(gè)字而且補(bǔ)齊的可以避免不必要的輸入錯(cuò)誤,Expandtabs把tabs變換成空格,不同編輯器打開都統(tǒng)一了不會(huì)亂,EnterKey->newline回車建立新行,showlinenumbers顯示行號(hào)看到代碼很方便的,showrightmargin編寫代碼時(shí)候可以提醒自己不要一行不要太長(zhǎng)及時(shí)換行,symbolwindow符號(hào)索引打開很好很強(qiáng)大,快速定位一個(gè)函數(shù)或者變量。
更多快捷鍵信息參考:
sourceinsight快捷鍵及使用技巧
/hbd1986/archive/2010/01/27/5260727.aspxSourceInsight是讀代碼的利器,但默認(rèn)情況下長(zhǎng)的文件路徑總會(huì)顯示成省略號(hào),對(duì)文件的定位特別不方便。
Options->Preferences->Display,
去掉勾選"Trimlongpathnameswithellipses"
(選項(xiàng)->參數(shù)選擇->顯示去掉勾選"修剪長(zhǎng)路徑名稱省略號(hào)"或"用橢圓修剪長(zhǎng)路徑名")
sourceinsight調(diào)整字體大小我的是英文版的在Option里的DocumentOption(ALT+T)左邊有個(gè)ScreenFont,點(diǎn)進(jìn)去就可以設(shè)置了前段時(shí)間剛好有空閑時(shí)間,于是又寫一篇關(guān)于sourceinsight的文章,這次側(cè)重于實(shí)用技巧的介紹,希望對(duì)大家有幫助。
我常常這樣想,SourceInsight(下文的SI指的也是它)就是這樣的一個(gè)東西:
Windows下開發(fā)人員的至愛,功能強(qiáng)大,界面友好。支持語(yǔ)法高亮、符號(hào)跳轉(zhuǎn),還支持函數(shù)調(diào)用關(guān)系圖顯示。這是一個(gè)專業(yè)的編程環(huán)境,很多大公司都是使用它的。這個(gè)編輯器除支持完善的自定義功能外,幾乎所有配置都能作個(gè)性化配置。除此之外,它本身帶有一套功能強(qiáng)大的宏語(yǔ)言(MacroLanguage),借助這種語(yǔ)言可以很方便的編程實(shí)現(xiàn)各種特殊功能,非一般編輯器所能比擬。查找功能支持得也很不錯(cuò)。雖然在工程較大時(shí),查找起來(lái)有點(diǎn)慢。但是它除了一般編輯器所支持的普通字符串查找、正則表達(dá)式查找外,還能支持關(guān)鍵字查找-這種方式比前兩者快得多,也算是一個(gè)彌補(bǔ)。不足之處是列模式較弱,對(duì)中文支持有缺陷。顯然,它也像其它任何東西一樣的,同時(shí)具有優(yōu)點(diǎn)和缺點(diǎn)的本性的,究竟如何,且聽我一一道來(lái)。
[原創(chuàng)文章,轉(zhuǎn)載請(qǐng)保持文章完整,并注明出處。更多精彩文章請(qǐng)?jiān)L問/Jupin
或者
/qiupingwu]1
開胃菜-初級(jí)應(yīng)用1.1
選擇美麗的界面享受工作雖然不能以貌取人,但似乎從來(lái)沒有人責(zé)備以貌取軟件的。SI的華麗界面,絕對(duì)符合現(xiàn)代花花世界的人的審美趣味。在SI中,我們可以輕松地把各種類型關(guān)鍵字、變量、標(biāo)志符、函數(shù)、宏、注釋等定義為不同的顏色和顯示方式(正體或斜體、加粗或正常、加下劃線、放大顯示等),總有一種方式能讓我們一眼就能分辨出這個(gè)標(biāo)識(shí)是什么。1.1.1
字體選擇在SI中樣式是可以被繼承,如果要從根本上改變字體,最簡(jiǎn)單的方式就是直接修改根樣式中的字體,因?yàn)槠渌鼧邮蕉紩?huì)由此繼承而來(lái)。選擇Options/DocumentOptions頁(yè)面內(nèi)的FontOptions中的ScreenFonts字體,即可改變根樣式中的字體。SI中的默認(rèn)配置為Verdana字體,是一種非等寬字體
2
,為了使編寫的代碼在各種編輯器中看起來(lái)都有良好的對(duì)齊效果,這里強(qiáng)烈建議使用等寬字體,Courier、NewCourier和宋體等都是較好的選擇。1.1.2
顏色定義畢竟這是見仁見智的東西,所以從來(lái)沒有統(tǒng)一的標(biāo)準(zhǔn)3。很多人并不喜歡SI提供的默認(rèn)配置,那么我們就改吧。選擇Options/StyleProperties頁(yè)面,就可以在其中修改所有樣式了。選擇等號(hào)(=)表示繼承ParentStyle,也可以選擇Pick(或者ON/OFF等)去配置一個(gè)新值。這完全視乎個(gè)人喜好。1.1.3
標(biāo)識(shí)符樣式選擇在與
顏色定義
一節(jié)同樣的界面內(nèi)即可完成此項(xiàng)配置。1.1.4
背景色選擇在希望要改變背景色的窗口點(diǎn)擊鼠標(biāo)右鍵(假定使用的是右手鼠標(biāo)
4),選擇上下文菜單的xxxWindowProperties項(xiàng),然后點(diǎn)擊彈出窗口的BackColor按鈕,即可修改該窗口背景色。對(duì)于SI的源碼主窗口,只需選擇上下文菜單的SpecialWindowColor項(xiàng)即可完成背景色修改。1.2
配置合理的默認(rèn)值高效工作1.2.1
使用合理的縮進(jìn)我始終認(rèn)為最容易獲得認(rèn)同的是關(guān)于這個(gè)選項(xiàng)的配置了。選擇Options/DocumentOptions頁(yè)面,點(diǎn)擊其內(nèi)的AutoIndent按鈕,在彈出的AutoIndenting窗口中,默認(rèn)配置為AutoIndentType選擇Smart,且勾選了SmartIndentOptions中的兩個(gè)可選項(xiàng),這樣得到的默認(rèn)縮進(jìn)效果為
while
(1)
{
I
}每次都要手工去調(diào)整其縮進(jìn),其實(shí)只要把兩個(gè)勾選項(xiàng)去掉,就可以得到
while
(1)
{
I
}何樂而不為呢?1.2.2
顯示坐標(biāo)通常情況下在窗口狀態(tài)欄左下方,最會(huì)顯示當(dāng)前光標(biāo)所在行列信息,但我總覺得不夠明顯,于是通常我們作如下配置:選擇Options/DocumentOptions頁(yè)面,勾選其中的Showlinenumbers。同時(shí)勾選其中的Showrightmargin,我們就可顯示一條右邊界,隨時(shí)提醒我們是否該行代碼寫得過長(zhǎng)了。1.3
創(chuàng)建便捷的快捷鍵快樂工作1.3
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人工作空間規(guī)劃表格(辦公室)
- 春天的校園生活點(diǎn)滴寫實(shí)+抒情周記(5篇)
- 業(yè)務(wù)合作伙伴綜合評(píng)估結(jié)果統(tǒng)計(jì)表
- 生物教研組工作總結(jié)
- 顧客忠誠(chéng)度與產(chǎn)品創(chuàng)新的相互關(guān)系
- 2025年四川省宜賓市中考生物真題含答案
- 項(xiàng)目管理的視角下的施工人員管理策略
- 項(xiàng)目管理中運(yùn)用數(shù)學(xué)邏輯解決問題的能力提升
- 顧客服務(wù)流程優(yōu)化與體驗(yàn)提升
- 非物質(zhì)文化遺產(chǎn)的數(shù)字化保護(hù)與教育推廣
- 支付分賬協(xié)議
- 老年健康與老年服務(wù)名詞術(shù)語(yǔ)
- 高一地理必修一地方時(shí)和區(qū)時(shí)課件
- 初中八年級(jí)數(shù)學(xué)同步作業(yè)判斷題練習(xí)1840道
- 2023年秋季國(guó)家開放大學(xué)-02154-數(shù)據(jù)庫(kù)應(yīng)用技術(shù)期末考試題帶答案
- 中國(guó)工業(yè)清洗協(xié)會(huì)職業(yè)技能證考試(化學(xué)清洗)試題
- 山東省德州市寧津縣房地產(chǎn)市場(chǎng)報(bào)告
- 蘇州市五年級(jí)下學(xué)期期末數(shù)學(xué)試題題及答案
- CPK分析表的模板
- 《敬畏生命向陽(yáng)而生》的主題班會(huì)
- 中華護(hù)理學(xué)會(huì)精神科??谱o(hù)士理論考試試題
評(píng)論
0/150
提交評(píng)論