SourceInsight使用技巧(強(qiáng)大的編程必備工具)_第1頁
SourceInsight使用技巧(強(qiáng)大的編程必備工具)_第2頁
SourceInsight使用技巧(強(qiáng)大的編程必備工具)_第3頁
SourceInsight使用技巧(強(qiáng)大的編程必備工具)_第4頁
SourceInsight使用技巧(強(qiáng)大的編程必備工具)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 HYPERLINK /jamestaosh/article/details/4457454 o SourceInsight一些使用技巧 SourceInsight一些使用技巧2009-08-18 07:262798人閱讀 HYPERLINK /jamestaosh/article/details/4457454 l comments 評論(1) HYPERLINK javascript:void(0); o 收藏 收藏 HYPERLINK /jamestaosh/article/details/4457454 l report o 舉報(bào) 舉報(bào)源: HYPERLINK /Jupin/archi

2、ve/2007/10/19/1832536.aspx /Jupin/archive/2007/10/19/1832536.aspx(精簡版)開胃菜-初級應(yīng)用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 ba

3、ckword 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選擇美麗的界面享受工作字體選擇在SI中樣式是可以被繼承,如果要從根本上改變字體,最簡單的方式就是直接修改根樣式中的字體,因?yàn)槠渌鼧邮蕉紩?huì)由此繼承而來。選擇Options/Document Opt

4、ions頁面內(nèi)的Font Options中的Screen Fonts字體,即可改變根樣式中的字體。SI中的默認(rèn)配置為Verdana字體,是一種非等寬字體,為了使編寫的代碼在各種編輯器中看起來都有良好的對齊效果,這里強(qiáng)烈建議使用等寬字體,Courier、New Courier、宋體等都是較好的選擇。顏色定義選擇Options/Style Properties頁面,就可以在其中修改所有樣式了。選擇等號(=)表示繼承Parent Style,也可以選擇Pick(或者ON/OFF等)去配置一個(gè)新值。標(biāo)識符樣式選擇在與顏色定義一節(jié)同樣的界面內(nèi)即可完成此項(xiàng)配置。背景色選擇在希望要改變背景色的窗口點(diǎn)擊鼠標(biāo)右

5、鍵(假定使用的是右手鼠標(biāo)),選擇上下文菜單的 xxx Window Properties項(xiàng),然后點(diǎn)擊彈出窗口的Back Color按鈕,即可修改該窗口背景色。對于SI的源碼主窗口,只需選擇上下文菜單的Special Window Color項(xiàng)即可完成背景色修改。配置合理的默認(rèn)值高效工作使用合理的縮進(jìn)選擇Options/Document Options頁面,點(diǎn)擊其內(nèi)的Auto Indent按鈕,在彈出的Auto Indenting窗口中,默認(rèn)配置為 Auto Indent Type選擇Smart,且勾選了Smart Indent Options中的兩個(gè)可選項(xiàng),這樣得到的默認(rèn)縮進(jìn)效果為while(

6、1)I每次都要手工去調(diào)整其縮進(jìn),其實(shí)只要把兩個(gè)勾選項(xiàng)去掉,就可以得到while(1)I何樂而不為呢?顯示坐標(biāo)選擇Options/Document Options頁面,勾選其中的Show line numbers。同時(shí)勾選其中的Show right margin,我們就可顯示一條右邊界,隨時(shí)提醒我們是否該行代碼寫得過長了。創(chuàng)建便捷的快捷鍵快樂工作幾個(gè)較常用的快捷鍵默認(rèn)情況下,SI已經(jīng)定義了很多非常實(shí)用的快捷鍵:F5指定行號,實(shí)現(xiàn)行跳轉(zhuǎn),在遇到編譯錯(cuò)誤的時(shí)候,能特別方便的找到出錯(cuò)行。Shift+F8高亮顯示指定標(biāo)識,快速瀏覽標(biāo)識的使用情況。Ctrl+鼠標(biāo)點(diǎn)擊標(biāo)識直接跳轉(zhuǎn)至標(biāo)識定義處。Ctrl+F本

7、文件內(nèi)查找。F3本文件查找結(jié)果的上一個(gè)。F4本文件查找結(jié)果的下一個(gè)。F7打開Browse Project Symbols窗口,快速瀏覽工程內(nèi)標(biāo)識定義。Ctrl+M創(chuàng)建或查找書簽,方便下次找回此位置。自定義快捷健選擇Options/Key Assignments,在彈出的Key Assignments窗口中可自由添加自己喜歡的快捷鍵。比較值得推薦的有如下幾個(gè)快捷鍵定義:Edit: Drag Line Down光標(biāo)當(dāng)前行下移。Edit: Drag Line Up光標(biāo)當(dāng)前行下移。Edit: Join Lines當(dāng)前行和下一行連接成一行。更多的快捷鍵如果你正好對SI的Marco語言(下文將會(huì)介紹)有研

8、究,那么還可以定義更多有用的快捷鍵,比如添加文件頭、函數(shù)頭、注釋等(下文在介紹Marco語言時(shí)會(huì)介紹如何實(shí)現(xiàn))。小技巧-中級應(yīng)用查找與替換在SI中支持多種查找及替換方式,除了上文提到的文件內(nèi)查找外,還支持工程范圍內(nèi)查找、目錄查找、指定多文件查找等等。查找Loopup References我們最常用的一種查找方式是選擇Search/Lookup References或按Ctrl+/組合鍵再或者鼠標(biāo)點(diǎn) R按鈕,在彈出的Loopup References窗口進(jìn)行查找操作。在Search Method中有四種可選的查找方式:Simple String、Regular Expression、 Keywo

9、rd Expression和Look Up Reference。其中Simple String是最普通的查找方式,可以查找文件中出現(xiàn)的任意字符或字符,甚至可以查找_upap|u這樣的字符串,但是在工程較大時(shí),查找過程會(huì)較慢。Regular Expression查找方式將在后面講述正則表達(dá)時(shí)會(huì)介紹到,這里暫時(shí)按下不表。Keyword Expression和Look Up Reference查找的結(jié)果基本相同,但是顯示方式略有差異。這兩種方式都是使用SI預(yù)先建立的數(shù)據(jù)庫,查找起來速度相當(dāng)快。但通常這種速度只對在查找標(biāo)識符時(shí)有明顯效果。對于像函數(shù)名,變量名等的查找,強(qiáng)烈建議使用這兩種方式進(jìn)行查找。S

10、earch Files選擇Search/Search Files或按Ctrl+Shift+F組合鍵,在彈出的Search Files窗口進(jìn)行查找操作。在File Name框中可以填入文件名或文件夾。注意當(dāng)要查詢的文件夾雙包含子文件夾時(shí),可以勾選Options中的Include Subdirectiories,實(shí)現(xiàn)對各層文件的遞歸搜索。Search Project選擇Search/Search Project,在彈出的Search Project窗口進(jìn)行查找操作。操作與Loopup References幾乎完全一致,它們各自保存上次搜索的配置。替換單文件替換選擇Search/Replace或按C

11、trl+H組合鍵,在彈出的Replace窗口進(jìn)行查找操作。在Search項(xiàng)目里勾選Selection則僅對當(dāng)前選中的文檔部分進(jìn)行替換。另外如果勾選了Confirm Replacements則是逐個(gè)確認(rèn)替換,否則會(huì)同時(shí)替換所有符合替換條件內(nèi)容。多文件替換選擇Search/Replace Files或按Ctrl+Shift+H組合鍵,在彈出的Replace Files 窗口進(jìn)行查找操作。除了增加New框(替換后的內(nèi)容)外,其余均與Search Files窗口相同,可參照查找部分的說明進(jìn)行操作。列操作雖然開篇時(shí)就說過,SI的列操作功能比較弱,但不等于沒有。先按下Alt鍵,接著就可用鼠標(biāo)進(jìn)行列選擇,然

12、后就可以刪除指定的列。無名技巧這里介紹一些小技巧,大多數(shù)情況下我們可以無視它們的存在。但如果我們知道這些,某些時(shí)候,會(huì)有效提高工作效率。Smart Rename在上下文件菜單中選Smart Rename或按Ctrl+組合鍵,即可彈出Smart Rename窗口。它有很強(qiáng)大的功能,但最便捷的使用方式是更改函數(shù)內(nèi)局部變量的名字,操作只作用于函數(shù)內(nèi)部,速度非??臁enumber使用Ctrl+R將彈出Renumber窗口,這個(gè)用于處理數(shù)字順序排列的情況相當(dāng)有效,比如數(shù)組下標(biāo)。例如現(xiàn)有代碼array0=1;array1=2;array2=3;現(xiàn)在要改為array0=0;array1=1;array2=

13、2;array3=3;當(dāng)然可以一個(gè)個(gè)修改,但最快的方式是在array0=1;之前添加array0=0;,然后列選數(shù)組下標(biāo),使用Renumber功能以 0為起始值重填數(shù)值。Edit Condition很多代碼尤其是驅(qū)動(dòng)代碼,當(dāng)中有大量的預(yù)編譯定義,以實(shí)現(xiàn)對不同硬件配置的支持。在閱讀這樣的代碼時(shí)最痛苦的是不能簡單判斷程序?qū)嶋H執(zhí)行的代碼分枝。大量分枝同時(shí)存在,常常會(huì)混淆我們的視聽。比如對于下面的代碼:#ifdef DEV1/* DEV1代碼代碼*/#else/*其它設(shè)備執(zhí)行代碼*/#endif如果確定我們當(dāng)前分析的是DEV1的執(zhí)行情況,那么可以選擇上下文件菜單的Edit Condition 選項(xiàng),在

14、彈出的Conditional Parsing窗口中把DEV1的值設(shè)置為True,那么#ifdef DEV1就等價(jià)于#if1了,相當(dāng)注釋掉了#else分枝的代碼。反之,設(shè)置為Flase時(shí),則注釋掉#ifdef DEV1分枝的代碼。學(xué)會(huì)偷懶-高級應(yīng)用附錄1-SI中正則表達(dá)式由于在查找及替換中,經(jīng)常會(huì)使用用正則表達(dá)式,這里對SI的正則表達(dá)式進(jìn)行簡單介紹。通配符正則表達(dá)式通配符總表:CharacterMatches(在表達(dá)式開始處)行的開始部分.任意單個(gè)字符abc任意屬于集合abc的單個(gè)字符abc任意不屬于集合abc的單個(gè)字符*前面字符的0個(gè)或多個(gè)重復(fù)+前面字符的1個(gè)或多個(gè)重復(fù)/t一個(gè)tab字符/s一

15、個(gè)空格符/w一個(gè)空白符(包括tab符和空格符)$行的結(jié)束部分表達(dá)式中的組在執(zhí)行替換操作時(shí),組將大有用武之地。正則表達(dá)式的各個(gè)部分可以用/(和/)進(jìn)行分隔,分隔得到的每一項(xiàng)就是一個(gè)組。在進(jìn)行替換時(shí)可通過組從匹配內(nèi)容中抽取出特定串。在正則表達(dá)式中每個(gè)組都有一個(gè)編號,自左至右編號從1開始。例如:abc/(xyx/)將能匹配abcxyz,此時(shí)組1就包含了xyz串。在進(jìn)行替換操作時(shí),就可以通過在替換后內(nèi)容框中填入/1來取出這個(gè)字符串。推而廣之,可以使用/來取得組所包含的串。例如:當(dāng)設(shè)定把/(abc/)/(xyz/)替換為/2/1的替換規(guī)則時(shí),對于abcxyz被替換串,則組1包含abc,組2包含xyz,而

16、替換后的內(nèi)容定義為組2內(nèi)容后跟組1內(nèi)容(/2/1),因此將得到xyzabc。舉個(gè)真實(shí)的使用例子,相信會(huì)增加大家的興趣。有時(shí)為方便調(diào)試,代碼中到處流浪著各種形式的mytrace調(diào)用 mytrace(Createparameterlist.);有時(shí)希望把它們?nèi)孔⑨尩?,而有些時(shí)候又希望把它們?nèi)炕謴?fù)回來。這是個(gè)簡單的例子,可以使用/(.*/)/(/*/)/(.*mytrace.*/)/(/*/)_FCKpd_6nbsp;=/1/3把它們恢復(fù)回來,而使用/(.*/)/(mytrace/)/(.*/)_FCKpd_7nbsp;=/1/*/2/3*/則完成把它們?nèi)孔⑨尩?。附?-SI中的宏語言我始終認(rèn)

17、為這是SI中最有趣的部分,這是一種功能強(qiáng)大的編程語言,幾乎可以實(shí)現(xiàn)在編程過程可能使用到的各種功能。這里不準(zhǔn)備對如何實(shí)用宏語言進(jìn)行編程作介紹(可參閱SI幫助文檔。),只介紹如何使用已編好程序。為方便使用,我已把這些程序都集中放在utils.em文件中,下文就此文件進(jìn)行論述。該宏文件實(shí)現(xiàn)了一些在編碼過程中可能會(huì)用到的功能, 如添加文件頭、函數(shù)說明(使用時(shí)能自動(dòng)添加文件名、函數(shù)名和當(dāng)前日期)和宏定義,代碼補(bǔ)全等。使用說明:Project/Open Project.打開Base工程(該工程一般在我的文檔/Source Insight/Projects/Base中);Project/Add and Re

18、move Project Files.加入宏文件(即utils.em);Options/Menu Assignments打開Menu Assignments窗口,在Command中輸入Macro,選中要使用的宏,添加到合適的菜單中.推薦使用的宏:InsFileHeader、InsFunHeader、InsHeaderDef、InsIfdef和AutoExpand (為代碼自動(dòng)補(bǔ)全功能,建議建快捷鍵)。關(guān)于AutoExpand的舉例說明, 當(dāng)你輸入了 switch 且光標(biāo)正處于switch后面,運(yùn)行該宏則會(huì)得到switch(#)casebreak;default:對于InsFunHeader宏,

19、如果有如下函數(shù)體intnOpenConfigFile(char*pchMemConfig,char*pchFlashConfig,intnSize,intnMode)I光標(biāo)在函數(shù)體內(nèi)時(shí)運(yùn)行該宏,那么將會(huì)在函數(shù)體上方得到/*nOpenConfigFile-*DESCRIPTION:-*Input:N/A*Output:N/A*Returns:N/A*modificationhistory*1.00,Apr19,2007, T357 written.*/其中的函數(shù)名及編寫日期自動(dòng)按實(shí)際情況填充,T357串可通過修改utils.em文件,改成你需要的名字。附錄3-推薦格式所謂人各有志,這里就不說啦。

20、結(jié)束至此,已將我所知的所有關(guān)于Source Insight(未包括其附帶的Macro語言)知識在此文檔中描述出來。如有錯(cuò)漏,請指正。謝謝觀賞Create byLATEXFrom CTEXFootnotes: HYPERLINK /Jupin/archive/2007/10/19/1832536.aspx l tthFrefAAB HYPERLINK /Jupin/archive/2007/10/19/1832536.aspx l tthFrefAAC 2在計(jì)算機(jī)顯示字體中,有等寬字體和非等寬字體兩種類別。對于等寬字體中在相同字號的情況下,所有字符占據(jù)的空間是一樣的,絕對公平。而非等寬字體則即使

21、是同一字號,字形也是有大有小,并不固定的。 HYPERLINK /Jupin/archive/2007/10/19/1832536.aspx l tthFrefAAD 3當(dāng)年我曾定義過黑白顛倒的顏色方案,那時(shí)看起來很酷,現(xiàn)在看來好累。 HYPERLINK /Jupin/archive/2007/10/19/1832536.aspx l tthFrefAAE 4我本熱衷于使用左手鼠標(biāo),這里為照顧大多數(shù),以右手鼠標(biāo)為例。 HYPERLINK /Jupin/archive/2007/10/19/1832536.aspx l tthFrefAAF 5這個(gè)時(shí)候,不要太過于武斷,不要想當(dāng)然地認(rèn)為程序一定執(zhí)

22、行至此,必要時(shí)可通過使用#error或#warning 進(jìn)行預(yù)編譯確認(rèn)。 HYPERLINK /Jupin/archive/2007/10/19/1832536.aspx l tthFrefAAG 6這又是一個(gè)沒有統(tǒng)一標(biāo)準(zhǔn)帶來的罪惡,現(xiàn)代的編輯軟件幾乎都提供了正則表達(dá)式功能,雖然基本用法大致相同,但總存在不少細(xì)微的差異。常常會(huì)令人混淆,偶爾造成一些郁悶的感覺。源: HYPERLINK /flyyanqu/archive/2008/03/27/2222799.aspx /flyyanqu/archive/2008/03/27/2222799.aspx1、縮進(jìn)與tab(1)Options菜單Pre

23、ferencesTyping卡,勾掉下面兩項(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(針對不同文件類型,分別進(jìn)行設(shè)置)下拉左上文件類型框、選擇合適類型(c源文件)Editing Options框中,tab width=2Editing Options框中,勾選Expand tabs(這樣,按tab鍵、等價(jià)于輸入2個(gè)空格)(3)Options菜單Docum

24、ent 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程序里,如果遇到行末沒有分號的語句,如IF, WHILE, SWITCH等,寫到該行末按回車,則新行自動(dòng)相對上一行縮進(jìn)兩列。勾掉Indent Open Brace和Indent Close Brace的效果繼上一段,在相對縮進(jìn)行里,如果輸入,

25、則自動(dòng)和上一行列對齊(好像勾不勾都會(huì)有這個(gè)功能);而輸入時(shí),不會(huì)與下面的行對齊(這是勾上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 So

26、urce File,然后在右邊的File filter里*.asm;*.inc;的后面加上*.s;接著CLOSE就可以了。上面兩個(gè)問題解決了,但注意加入*.s后還需要重新ADD TREE一遍才能把這些匯編加到PROJECT里面。3、去掉功能強(qiáng)大但是無用的自動(dòng)完成功能Options菜單PreferencesTyping卡Auto Completion框,勾掉Use automatic symbol completion window(這里是SIS的全局設(shè)置)Options菜單Document OptionsEditing Options框中,勾掉Allow auto-complete(局部設(shè)置)

27、上面兩項(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 al

28、l,更改為ctrl +a6、解決字符等寬對齊問題。SIS默認(rèn)字體是VERDANA,很漂亮。這網(wǎng)頁上應(yīng)該也是用的VERDANA字體。但由于美觀的緣故,VERDANA字體是不等寬的。比如下面兩行l(wèi)lllllllllMMMMMMMMMM同樣10個(gè)字符,長度差多了.用VERDANA來看程序,有些本應(yīng)該對齊的就歪了。解放方法是使用等寬的字體,但肯定比較丑??梢杂肈OS字體,也就是記事本里的默認(rèn)字體sysfixed很丑,要有心理準(zhǔn)備。比較推薦的是用Courier New。SourceInsight提供的功能1、解析日志信息時(shí)非常有用的Source Link總地說來,SourceLink根據(jù)特定的搜索模式,

29、把當(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命令,在彈出的框中、選擇搜

30、索模式、并填入相應(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è)SourceLink1.3在解析自定義命令輸出時(shí),使用SourceLink首先勾選Custom Command中的“Parse Links in Output”,然后選擇特定的搜索模式,最后填入合適的正則表達(dá)式。這樣,Source Insight把輸出信息作為當(dāng)前搜索用文件;并且,如果有匹配行(通常即編譯錯(cuò)誤信

31、息行),SIS為該行創(chuàng)建SourceLink、并把每一個(gè)錯(cuò)誤信息中給定的文件(和行號)作為link目的地,這對于我們修改源代碼錯(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按鈕,可

32、選擇替換多個(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 Matchin

33、g選項(xiàng),Smart Rename就只在正確的上下文范圍內(nèi)進(jìn)行重命名。它可以智能地重命名全部項(xiàng)目文件中的一個(gè)標(biāo)示符;它可以重命名函數(shù)本地變量,類或結(jié)構(gòu)體成員、函數(shù)。在彈出的Smart Rename窗口中有下面幾項(xiàng)Old Name填舊名稱。光標(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

34、是函數(shù)的本地成員變量。New Name填新名稱。只填標(biāo)記名,不填上層容器名。Output Search Results如果勾選,搜索替換結(jié)果日志會(huì)被輸出到Search Results窗口中。可以通過Windows菜單來切換,或ctrl+tab切換察看。并且每一條記錄旁會(huì)有SourceLink鏈接到替換發(fā)生地文件。Confirm Each Replacement每次替換詢問。Skip Comments不重名注釋部分?!臼褂眯牡昧斜怼浚ǎ┤绾斡肧mart Rename重命名數(shù)組的數(shù)組名?如果只選取數(shù)組名,會(huì)報(bào)錯(cuò)!()如果勾掉Smart Reference Matching,會(huì)搜索全部項(xiàng)目文件,并且

35、Old Name框中不顯示完全限定名;如果勾選Smart Reference Matching,無法重命名數(shù)組名,而且鼠標(biāo)位置不正確時(shí)會(huì)報(bào)錯(cuò)。應(yīng)該如何應(yīng)對?3、在SourceInsight中提供的正則表達(dá)式3.1在SourceInsight中提供的正則表達(dá)式正則表達(dá)式,是用來匹配復(fù)雜模式的特殊搜索用字符串。正則表達(dá)式串中,許多字符具有特殊的含義。例如,有個(gè)特殊的字符代表“行首”。下面是SourceInsight提供的所有可用特殊字符Table 4.3: Regular Expression CharactersCharacterMatches (at the beginning only)be

36、ginning of line。如Hello,匹配Hello在句首。.any single characterabcany single character that belongs to the set abcabcany single character that does not belong to the set abc*zero or more occurrences of theprecedingcharacter+one or more occurrences of theprecedingcharacterta tab charactersa space characterww

37、hite 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á)式格式與源代碼文件路徑相對應(yīng),這里我的tc安裝目錄為d:tc,tc源文件放在d:t

38、csrc下,并命名為qn.c或qtn.c(其中n=1,2,)。觀察Tc編譯器某一次輸出錯(cuò)誤信息的格式Errord:tcsrcq5.c 18: Lvalue required in function jsSort則我們要匹配“d:tcsrcq5.c 18”部分,進(jìn)一步地,按照SourceInsight捕捉輸出并加以解析時(shí)的要求,要以組的形式、分別匹配“d:tcsrcq5.c 18”中的文件部分和行號部分行號(1-90-9*)空格行號s(1-90-9*)文件名(d:tcsrcqQtT1-90-9*.cC)全部加起來為(d:tcsrcqQtT*1-90-9*.cC)s(1-90-9*)3.3正則表達(dá)

39、式在配置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:javasrcqQtT*1-90-9*.java):(1-90-9*)4、自定義命令自定義命令與項(xiàng)目相關(guān),在一個(gè)項(xiàng)目中定義的所有自定義命令屬于該項(xiàng)目、只對該項(xiàng)目有效(包括快捷鍵等)。自定義命令類似于命令行批處理文件。SIS允許自定義命令在后臺運(yùn)行;并可以捕捉自定義命令的輸出、放置于文件中、或粘貼入當(dāng)前光標(biāo)

40、插入點(diǎn)。分別利用上面SIS對輸出信息的處理方式,自定義命令對集成編譯器相當(dāng)有用,可以捕捉編譯器輸出并創(chuàng)建SourceLink尋錯(cuò);自定義命令對于文本過濾也相當(dāng)有用,可選中待過濾區(qū)塊、運(yùn)行Sort自定義命令、粘貼回選定區(qū)塊、即完成文本過濾。請按下面步驟創(chuàng)建自定義命令Options菜單Custom Command點(diǎn)右邊Add鈕、填入新自定義命令名稱,或下拉左邊Commands、選擇命令進(jìn)行修改Run框、填入待執(zhí)行命令行,可含有特殊元字符,見后面的元字符表Dir框、執(zhí)行命令行時(shí)應(yīng)處的目錄,如不填,以源代碼文件所在目錄為命令執(zhí)行目錄勾選Output框的Capture Output、輸出被捕捉,如果勾選

41、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 HYPERLINK /Jupin/archive/2005/02/04/281020.aspx source insight常用宏轉(zhuǎn)自:/Jupin/archive/2005/02/04/281020.aspx說明: 該宏文件實(shí)現(xiàn)一些編碼程中能會(huì)到的功能, 如添加文件頭、函數(shù)說明和宏定義等, 使用時(shí)能自動(dòng)添加文件名、函數(shù)名和當(dāng)前日期.使用說明: 1. Project-Open Project. 打開Base工程(該工程一般在我的文檔/Source Insight/Projects/Base中); 2. Project-Ad

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論