(摘自http://fky168.blog.163.com/blog/static/3786097200831033957620/)
一、Source Insight實(shí)用技巧:Source Insight(下文的SI指的也是它)就是這樣的一個(gè)東西: Windows下開(kāi)發(fā)人員的至愛(ài),功能強(qiáng)大,界面友好。支持語(yǔ)法高亮、符號(hào)跳轉(zhuǎn),還支持函數(shù)調(diào)用關(guān)系圖顯示。這是一個(gè)專(zhuān)業(yè)的編程環(huán)境,很多大公司都是使用它的。這個(gè)編輯器除支持完善的自定義功能外,幾乎所有配置都能作個(gè)性化配置。除此之外,它本身帶有一套功能強(qiáng)大的宏語(yǔ)言(Macro Language),借助這種語(yǔ)言可以很方便的編程實(shí)現(xiàn)各種特殊功能,非一般編輯器所能比擬。查找功能支持得也很不錯(cuò)。雖然在工程較大時(shí),查找起來(lái)有點(diǎn)慢。但是它除了一般編輯器所支持的普通字符串查找、正則表達(dá)式查找外,還能支持關(guān)鍵字查找-這種方式比前兩者快得多,也算是一個(gè)彌補(bǔ)。不足之處是列模式較弱,對(duì)中文支持有缺陷。
顯然,它也像其它任何東西一樣的,同時(shí)具有優(yōu)點(diǎn)和缺點(diǎn)的本性的,究竟如何,且聽(tīng)我一一道來(lái)。
官網(wǎng)下載:http://www.sourceinsight.com/down35.html
序列號(hào)(Serial):(任選其一)SI3US-279028-11281SI3US-772862-51931SI3US-465643-84290SI3US-176526-66007SI3US-060062-28251
1 開(kāi)胃菜-初級(jí)應(yīng)用
1.1 選擇美麗的界面享受工作
雖然不能以貌取人,但似乎從來(lái)沒(méi)有人責(zé)備以貌取軟件的。SI的華麗界面,絕對(duì)符合現(xiàn)代花花世界的人的審美趣味。在SI中,我們可以輕松地把各種類(lèi)型關(guān)鍵字、變量、標(biāo)志符、函數(shù)、宏、注釋等定義為不同的顏色和顯示方式(正體或斜體、加粗或正常、加下劃線(xiàn)、放大顯示等),總有一種方式能讓我們一眼就能分辨出這個(gè)標(biāo)識(shí)是什么。
1.1.1 字體選擇
在SI中樣式是可以被繼承,如果要從根本上改變字體,最簡(jiǎn)單的方式就是直接修改根樣式中的字體,因?yàn)槠渌鼧邮蕉紩?huì)由此繼承而來(lái)。選擇Options/Document Options頁(yè)面內(nèi)的Font Options中的Screen Fonts字體,即可改變根樣式中的字體。SI中的默認(rèn)配置為Verdana字體,是一種非等寬字體 2 ,為了使編寫(xiě)的代碼在各種編輯器中看起來(lái)都有良好的對(duì)齊效果,這里強(qiáng)烈建議使用等寬字體,Courier、New Courier和宋體等都是較好的選擇。
1.1.2 顏色定義
畢竟這是見(jiàn)仁見(jiàn)智的東西,所以從來(lái)沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)3。很多人并不喜歡SI提供的默認(rèn)配置,那么我們就改吧。選擇Options/Style PRoperties頁(yè)面,就可以在其中修改所有樣式了。選擇等號(hào)(=)表示繼承Parent Style,也可以選擇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),選擇上下文菜單的 xxx Window Properties項(xiàng),然后點(diǎn)擊彈出窗口的Back Color按鈕,即可修改該窗口背景色。對(duì)于SI的源碼主窗口,只需選擇上下文菜單的Special Window Color項(xiàng)即可完成背景色修改。
1.2 配置合理的默認(rèn)值高效工作
1.2.1 使用合理的縮進(jìn)
我始終認(rèn)為最容易獲得認(rèn)同的是關(guān)于這個(gè)選項(xiàng)的配置了。選擇Options/Document Options頁(yè)面,點(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 (1) { I }每次都要手工去調(diào)整其縮進(jìn),其實(shí)只要把兩個(gè)勾選項(xiàng)去掉,就可以得到
while (1) { I }何樂(lè)而不為呢?
1.2.2 顯示坐標(biāo)
通常情況下在窗口狀態(tài)欄左下方,最會(huì)顯示當(dāng)前光標(biāo)所在行列信息,但我總覺(jué)得不夠明顯,于是通常我們作如下配置:
選擇Options/Document Options頁(yè)面,勾選其中的Show line numbers。同時(shí)勾選其中的Show right margin,我們就可顯示一條右邊界,隨時(shí)提醒我們是否該行代碼寫(xiě)得過(guò)長(zhǎng)了。
1.3 創(chuàng)建便捷的快捷鍵快樂(lè)工作
1.3.1 幾個(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打開(kāi)Browse Project Symbols窗口,快速瀏覽工程內(nèi)標(biāo)識(shí)定義。Ctrl+M創(chuàng)建或查找書(shū)簽,方便下次找回此位置。1.3.2 自定義快捷健
選擇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)前行和下一行連接成一行。1.3.3 更多的快捷鍵
如果你正好對(duì)SI的Marco語(yǔ)言(下文將會(huì)介紹)有研究,那么還可以定義更多有用的快捷鍵,比如添加文件頭、函數(shù)頭、注釋等(下文在介紹Marco語(yǔ)言時(shí)會(huì)介紹如何實(shí)現(xiàn))。
2 小技巧-中級(jí)應(yīng)用
2.1 查找與替換
在SI中支持多種查找及替換方式,除了上文提到的文件內(nèi)查找外,還支持工程范圍內(nèi)查找、目錄查找、指定多文件查找等等。
2.1.1 查找
Loopup References
我們最常用的一種查找方式是選擇Search/Lookup References或按Ctrl+/組合鍵再或者鼠標(biāo)點(diǎn) R 按鈕,在彈出的Loopup References窗口進(jìn)行查找操作。
在Search Method中有四種可選的查找方式:Simple String、Regular Expression、 KeyWord Expression和Look Up Reference。其中Simple String是最普通的查找方式,可以查找文件中出現(xiàn)的任意字符或字符,甚至可以查找 _upap || u 這樣的字符串,但是在工程較大時(shí),查找過(guò)程會(huì)較慢。
Regular Expression查找方式將在后面講述正則表達(dá)時(shí)會(huì)介紹到,這里暫時(shí)按下不表。
Keyword Expression和Look Up Reference查找的結(jié)果基本相同,但是顯示方式略有差異。這兩種方式都是使用SI預(yù)先建立的數(shù)據(jù)庫(kù),查找起來(lái)速度相當(dāng)快。但通常這種速度只對(duì)在查找標(biāo)識(shí)符時(shí)有明顯效果。對(duì)于像函數(shù)名,變量名等的查找,強(qiáng)烈建議使用這兩種方式進(jìn)行查找。
Search Files選擇Search/Search Files或按Ctrl+Shift+F組合鍵,在彈出的Search Files窗口進(jìn)行查找操作。在File Name框中可以填入文件名或文件夾。注意當(dāng)要查詢(xún)的文件夾雙包含子文件夾時(shí),可以勾選Options中的Include Subdirectiories,實(shí)現(xiàn)對(duì)各層文件的遞歸搜索。Search Project選擇Search/Search Project,在彈出的Search Project窗口進(jìn)行查找操作。操作與Loopup References幾乎完全一致,它們各自保存上次搜索的配置。2.1.2 替換
單文件替換選擇Search/Replace或按Ctrl+H組合鍵,在彈出的Replace窗口進(jìn)行查找操作。在Search項(xiàng)目里勾選Selection則僅對(duì)當(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窗口相同,可參照查找部分的說(shuō)明進(jìn)行操作。2.2 列操作
雖然開(kāi)篇時(shí)就說(shuō)過(guò),SI的列操作功能比較弱,但不等于沒(méi)有。先按下Alt鍵,接著就可用鼠標(biāo)進(jìn)行列選擇,然后就可以刪除指定的列。
2.3 無(wú)名技巧
這里介紹一些小技巧,大多數(shù)情況下我們可以無(wú)視它們的存在。但如果我們知道這些,某些時(shí)候,會(huì)有效提高工作效率。
Smart Rename在上下文件菜單中選Smart Rename或按Ctrl+'組合鍵,即可彈出Smart Rename窗口。它有很強(qiáng)大的功能,但最便捷的使用方式是更改函數(shù)內(nèi)局部變量的名字,操作只作用于函數(shù)內(nèi)部,速度非常快。Renumber使用Ctrl+R將彈出Renumber窗口,這個(gè)用于處理數(shù)字順序排列的情況相當(dāng)有效,比如數(shù)組下標(biāo)。例如現(xiàn)有代碼 array[0] = 1; array[1] = 2; array[2] = 3;現(xiàn)在要改為 array[0] = 0; array[1] = 1; array[2] = 2; array[3] = 3;當(dāng)然可以一個(gè)個(gè)修改,但最快的方式是在array[0] = 1;之前添加array[0] = 0;,然后列選數(shù)組下標(biāo),使用Renumber功能以 0為起始值重填數(shù)值。Edit Condition很多代碼尤其是驅(qū)動(dòng)代碼,當(dāng)中有大量的預(yù)編譯定義,以實(shí)現(xiàn)對(duì)不同硬件配置的支持。在閱讀這樣的代碼時(shí)最痛苦的是不能簡(jiǎn)單判斷程序?qū)嶋H執(zhí)行的代碼分枝。大量分枝同時(shí)存在,常常會(huì)混淆我們的視聽(tīng)。比如對(duì)于下面的代碼: #ifdef DEV1 /* DEV1代碼代碼 */ #else /* 其它設(shè)備執(zhí)行代碼 */ #endif如果確定我們當(dāng)前分析的是DEV1的執(zhí)行情況 5,那么可以選擇上下文件菜單的Edit Condition 選項(xiàng),在彈出的Conditional Parsing窗口中把DEV1的值設(shè)置為T(mén)rue,那么 #ifdef DEV1就等價(jià)于#if 1了,相當(dāng)注釋掉了#else分枝的代碼。反之,設(shè)置為Flase時(shí),則注釋掉#ifdef DEV1分枝的代碼。3 學(xué)會(huì)偷懶-高級(jí)應(yīng)用
4 附錄1-SI中正則表達(dá)式
由于在查找及替換中,經(jīng)常會(huì)使用用正則表達(dá)式6,這里對(duì)SI的正則表達(dá)式進(jìn)行簡(jiǎn)單介紹。
4.1 通配符
正則表達(dá)式通配符總表:Character Matches ^ (在表達(dá)式開(kāi)始處) 行的開(kāi)始部分 . 任意單個(gè)字符 [abc] 任意屬于集合 abc 的單個(gè)字符 [^abc] 任意不屬于集合 abc 的單個(gè)字符 * 前面字符的0個(gè)或多個(gè)重復(fù) + 前面字符的1個(gè)或多個(gè)重復(fù) /t 一個(gè) tab 字符 /s 一個(gè)空格符 /w 一個(gè)空白符(包括 tab 符和空格符) $ 行的結(jié)束部分
4.2 表達(dá)式中的組
在執(zhí)行替換操作時(shí),組將大有用武之地。正則表達(dá)式的各個(gè)部分可以用/(和/)進(jìn)行分隔,分隔得到的每一項(xiàng)就是一個(gè)組。在進(jìn)行替換時(shí)可通過(guò)組從匹配內(nèi)容中抽取出特定串。在正則表達(dá)式中每個(gè)組都有一個(gè)編號(hào),自左至右編號(hào)從1開(kāi)始。
例如:abc/(xyx/)將能匹配 abcxyz ,此時(shí)組1就包含了 xyz 串。在進(jìn)行替換操作時(shí),就可以通過(guò)在替換后內(nèi)容框中填入/1來(lái)取出這個(gè)字符串。推而廣之,可以使用/<number>來(lái)取得組<number>所包含的串。
例如:當(dāng)設(shè)定把/(abc/)/(xyz/)替換為/2/1的替換規(guī)則時(shí),對(duì)于 abcxyz 被替換串,則組1包含 abc,組2包含 xyz,而替換后的內(nèi)容定義為組2內(nèi)容后跟組1內(nèi)容(/2/1),因此將得到 xyzabc。
舉個(gè)真實(shí)的使用例子,相信會(huì)增加大家的興趣。有時(shí)為方便調(diào)試,代碼中到處流浪著各種形式的mytrace調(diào)用
mytrace("Create parameter list... "); 有時(shí)希望把它們?nèi)孔⑨尩簦行r(shí)候又希望把它們?nèi)炕謴?fù)回來(lái)。這是個(gè)簡(jiǎn)單的例子,可以使用
^/(.*/)/(//*/)/(.*mytrace.*/)/(/*//)___FCKpd___6nbsp;==> /1/3把它們恢復(fù)回來(lái),而使用
^/(.*/)/(mytrace/)/(.*/)___FCKpd___7nbsp;==> /1/*/2/3*/則完成把它們?nèi)孔⑨尩簟?/p>
5 附錄2-SI中的宏語(yǔ)言
我始終認(rèn)為這是SI中最有趣的部分,這是一種功能強(qiáng)大的編程語(yǔ)言,幾乎可以實(shí)現(xiàn)在編程過(guò)程可能使用到的各種功能。 這里不準(zhǔn)備對(duì)如何實(shí)用宏語(yǔ)言進(jìn)行編程作介紹(可參閱SI幫助文檔。),只介紹如何使用已編好程序。為方便使用,我已把這些程序都集中放在utils.em文件中,下文就此文件進(jìn)行論述。
該宏文件實(shí)現(xiàn)了一些在編碼過(guò)程中可能會(huì)用到的功能, 如添加文件頭、函數(shù)說(shuō)明(使用時(shí)能自動(dòng)添加文件名、函數(shù)名和當(dāng)前日期)和宏定義,代碼補(bǔ)全等。 使用說(shuō)明:
(1) Project/Open Project...打開(kāi)Base工程(該工程一般在"我的文檔/Source Insight/Projects/Base"中);
(2) Project/Add and Remove Project Files...加入宏文件(即utils.em);
(3) Options/Menu Assignments打開(kāi)Menu Assignments窗口,在Command中輸入Macro,選中要使用的宏,添加到合適的菜單中.
推薦使用的宏:InsFileHeader、InsFunHeader、InsHeaderDef、InsIfdef和AutoExpand (為代碼自動(dòng)補(bǔ)全功能,建議建快捷鍵)。
關(guān)于AutoExpand的舉例說(shuō)明, 當(dāng)你輸入了 switch 且光標(biāo)正處于switch后面,運(yùn)行該宏則會(huì)得到
switch (###) { case break; default: }對(duì)于InsFunHeader宏,如果有如下函數(shù)體
int nOpenConfigFile(char *pchMemConfig, char *pchFlashConfig, int nSize, int nMode) { I }
光標(biāo)在函數(shù)體內(nèi)時(shí)運(yùn)行該宏,那么將會(huì)在函數(shù)體上方得到
/****************************************************************************** * nOpenConfigFile - * DESCRipTION:- * * Input: N/A * Output: N/A * Returns: N/A * * modification history * -------------------- * 1.00, Apr 19, 2007, T357 written. * -------------------- ******************************************************************************/
其中的函數(shù)名及編寫(xiě)日期自動(dòng)按實(shí)際情況填充,T357串可通過(guò)修改utils.em文件,改成你需要的名字。
6 附錄3-推薦格式
所謂人各有志,這里就不說(shuō)啦。
7 結(jié)束
至此,已將我所知的所有關(guān)于Source Insight(未包括其附帶的Macro語(yǔ)言)知識(shí)在此文檔中描述出來(lái)。
如有錯(cuò)漏,請(qǐng)指正。
二、源代碼查看工具 Source Navigator 使用心得Source Navigator 是Red Hat出品的一款查看源代碼的工具,非常好用,與Windows下的Source Insight有一敵。但是它的界面不怎么好看,用的不是GTK圖形庫(kù),所以界面風(fēng)格與Gnome不一致,操作上也有些不同。除了這些,其它功能都非常強(qiáng)大,細(xì)數(shù)如下。里面的一些簡(jiǎn)寫(xiě)約定如下:
| Code Area | |
| cl | Classes |
| con | Constants |
| e | Enums |
| ec | Enum Values |
| fd | Function Declarations |
| fr | friends |
| fu | Functions |
| gv | Global Variables |
| iv | Instance Variables |
| ma | Macros |
| md | Method Definitions |
| mi | Method Implementations |
| t | Typedefs |
| un | Unions |
| lv | Local variables |
| ud | Undefined |
| Cross-Reference | |
| r | Read |
| w | Written |
| p | Passed |
| u | Unused |
SNav的代碼窗口有6個(gè)標(biāo)簽頁(yè),它們分別是“Edit”“Hierarchy”“Class”“Xref”“Retriever”“Grep”其中,“Edit”區(qū)是代碼顯示和修改的區(qū)域,是工作的主要區(qū)域;“Hierarchy”和“Class”是C++代碼的組織工具;“Xref”是最強(qiáng)大的一個(gè)工具,它會(huì)把一個(gè)函數(shù)中的所有用到的變量,調(diào)用的函數(shù),用到的結(jié)構(gòu)全記錄并展現(xiàn)出來(lái);“Retriever”也是一個(gè)非常有用的工具,用于把一個(gè)庫(kù)代碼包中的所有定義的符號(hào)列出來(lái),并記錄相應(yīng)的屬性;“Grep”用于查找某一個(gè)符號(hào),可指定搜索的范圍,既可全局查找也可部分文件查找。閱讀代碼時(shí)常用到的一些鍵值組合:Ctrl+leftarrow | rightarrow | uparrow | downarrow 以詞的形式移動(dòng)光標(biāo)Ctrl+Alt+leftarrow | rightarrow | uparrow | downarrow 以詞的形式移動(dòng)光標(biāo)并選擇走過(guò)的區(qū)域Ctrl+Shift+D 查看選定符號(hào)的聲明Ctrl+Shift+I 查看選定符號(hào)的定義代碼窗口的工具欄上有7個(gè)元素,分別是“回退跳轉(zhuǎn)”“前進(jìn)跳轉(zhuǎn)”“光標(biāo)處所在的函數(shù)名或結(jié)構(gòu)名”“選定并要操作(比如查找)的字符串”“在本文件中查找選定的字符串”(比Ctrl+F查找功能好使)“在整個(gè)工程中查找與選定字符串匹配的代碼”“在整個(gè)工程中以Grep的方式查找與選定字符串匹配的代碼”(會(huì)跳到Grep標(biāo)簽頁(yè)中顯示結(jié)果)注意:snavigator在導(dǎo)入目錄時(shí),目錄名中間不能出現(xiàn)空格。
三、在Ubuntu中安裝 Source-Navigator及使用手冊(cè) 2009-09-25 23:19 from : http://hi.baidu.com/xiaohu_tiger/blog/item/66d207888431d6b40f2444ec.html
1 通過(guò)apt-get安裝(版本較舊) 安裝命令:sudo apt-get install sourcenav 啟動(dòng)命令:snavigator
2 手動(dòng)安裝最新版本 1)到官方網(wǎng)站獲取軟件包 http://sourceforge.net/project/showfiles.php?group_id=51180 2)解壓縮 tar zxvf s ourcenav-6.0.tar.gz ./configure --prefix=/opt/sourcenav (install 文件推薦參數(shù)) make make install ps:如果出現(xiàn)權(quán)限問(wèn)題,前面加sudo 3)如果碰到下述錯(cuò)誤 /root/tk8.4.16/unix/../generic/tk3d.c:1279: error: ‘TkBorder’ has no member named ‘resourceRefCount’ /root/tk8.4.16/unix/../generic/tk3d.c:1280: error: ‘Tk_FakeWin’ has no member named ‘display’ /root/tk8.4.16/unix/../generic/tk3d.c:1280: error: ‘Tk_FakeWin’ has no member named ‘screenNum’ /root/tk8.4.16/unix/../generic/tk3d.c:1280: error: ‘TkBorder’ has no member named ‘screen’ /root/tk8.4.16/unix/../generic/tk3d.c:1281: error: ‘Tk_FakeWin’ has no member named ‘a(chǎn)tts’ /root/tk8.4.16/unix/../generic/tk3d.c:1281: error: ‘TkBorder’ has no member named ‘colormap’ /root/tk8.4.16/unix/../generic/tk3d.c:1301: error: ‘TkDisplay’ has no member named ‘borderTable’ /root/tk8.4.16/unix/../generic/tk3d.c:1301: error: ‘TkDisplay’ has no member named ‘borderTable’ /root/tk8.4.16/unix/../generic/tk3d.c:1306: error: ‘TkBorder’ has no member named ‘nextPtr’ 。。。。。。 則在終端是輸入:sudo apt-get install libx11-dev 4) 啟動(dòng)snavigator 在終端直接輸入:snavigator 5) 使用手冊(cè)(user manual) http://sourcenav.sourceforge.net/online-docs/userguide/index_ug.html 還有一個(gè) source insight 和source navigator的比較的帖子: http://fky168.blog.163.com/blog/static/3786097200831033957620/
======================================================== 運(yùn)行source navigator的問(wèn)題 方法一、(轉(zhuǎn)載) 安裝完成后運(yùn)行 snavigator 提示 [root@Magiclinux sourcenav-6.0]# snavigator Can't find a usable tk.tcl in the following directories: /usr/local/share/tk8.3
/usr/local/share/tk8.3/tk.tcl: no event type or button # or keysym no event type or button # or keysym while executing "bind Listbox <MouseWheel> { %W yview scroll [expr {- (%D / 120) * 4}] units }" (file "/usr/local/share/tk8.3/listbox.tcl" line 182) invoked from within "source [file join $tk_library listbox.tcl]" invoked from within "if {[string compare $tcl_platform(platform) "macintosh"] && / [string compare {} $tk_library]} { source [file join $tk_library button.tcl] so..." (file "/usr/local/share/tk8.3/tk.tcl" line 30 invoked from within "source /usr/local/share/tk8.3/tk.tcl" ("uplevel" body line 1) invoked from within "uplevel /#0 [list source $file]"
This probably means that tk wasn't installed properly.
不知其所以然,重新安裝tk8.3無(wú)效,升級(jí)到tk8.5無(wú)效
后來(lái)在網(wǎng)上發(fā)現(xiàn)需要給下載的Source-Navigator 6.0打補(bǔ)丁 到http://bugs.gentoo.org/show_bug.cgi?id=225999 找到 tk-8.4-lastevent.patch 補(bǔ)丁 將補(bǔ)丁粘貼到source navigator 源碼目錄 sourcenav-6.0/tk目錄下,再cd 到sourcenav-6.0/ tk 的源碼目錄 patch -p0 -i tk-8.4-lastevent.patch 刪除安裝,重新安裝,可以運(yùn)行了(我試了一下不行)。
方法二、(轉(zhuǎn)載) 有找到解法: (http://forums.fedoraforum.org/showthread.php?t=213441) 註掉 lines 182-184 in the file /opt/sourcenav/share/tk8.3/listbox.tcl 註掉 lines 457-459 in the file /opt/sourcenav/share/tk8.3/text.tcl
在panel中添加Launcher,在Command中添加/opt/sourcenav/bin/snavigator
====== 安裝完後在桌面增加捷徑的方法 ====== 我要做捷徑的目標(biāo)是/opt/sourcenav/bin/snavigator (這是個(gè)sh script) 裡面要改一行 #snbindir=`dirname $0` snbindir=/opt/sourcenav/bin 這樣再建一個(gè)捷徑到桌面即可: ln -s /opt/sourcenav/bin/snavigator ~/Desktop/
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/dian_technology/archive/2010/07/23/5757884.aspx
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注