Source-Insight-使用中的設(shè)置技巧_第1頁(yè)
Source-Insight-使用中的設(shè)置技巧_第2頁(yè)
Source-Insight-使用中的設(shè)置技巧_第3頁(yè)
Source-Insight-使用中的設(shè)置技巧_第4頁(yè)
Source-Insight-使用中的設(shè)置技巧_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論