Scite 標籤

lua-users home
wiki

在龐大專案中進行導覽通常會遇到需要,而 ctags 會是一個非常有效率的工具。一個廣受歡迎的 ctags 版本為由 Darren Hiebert 所開發的 Exuberant Ctags [1],支援許多不同的程式語言。目前有許多腳本和方法可提供 SciteTags 的功能。

readtags 為基礎的版本

以下的 SciteTags 函式庫是一組較小的腳本,用於驅動所提供的 readtags 程式。請參閱 Files:wiki_insecure/editors/SciTE/ctags.lua

進階版本

這些進階實驗版本僅適用於 SciteExtMan。請注意這些腳本不需要 readtags,在效能較差的電腦上執行更快。

這是適用於 SciteExtMan 的原始版本:<=> Files:wiki_insecure/editors/SciTE/ctagsx.lua

這是解決標籤檔案中出現空白字元的替代版本... <=> Files:wiki_insecure/editors/SciTE/ctagsx_alt.lua

還有另一個替代版本會動態搜尋和使用相對於已開啟檔案的 $FileDir 路徑之中最近的 標籤 檔案。此版本不需要在 SciTE 的屬性檔案中指定 ctags.path.cxx,且也可以處理非 Exuberant 的 ctags <=> Files:wiki_insecure/editors/SciTE/ctagsdx.lua

使用說明

取得 ctags 工具

http://home.mweb.co.za/sd/sdonovan/SciTE/ctags.zip 包含 ctags 的 Win32 預編譯版本。請確定 ctags.exe 和 readtags.exe 都在您的路徑中,並載入 ctags.lua(請注意,在 *nix 中,通常會有一個稱為「ctags」的程式,它並非 Exuberant!)不過,ctagsdx.lua 現在可以處理 ctags,不論它是否為 Exuberant。

設定 SciTE

除非您使用進階版本 ctagsx.luactagsx_alt.lua,否則請將這些放入您的屬性檔案中。所有在 SciteExtMan 中使用的進階版本都不需要屬性檔案

ctags.path.cxx=<full path to tags file>

command.name.14.*=Find Tag
command.14.*=find_ctag $(CurrentWord)
command.subsystem.14.*=3
command.mode.14.*=savebefore:no
command.shortcut.14.*=Ctrl+.

command.name.15.*=Go to mark
command.15.*=goto_mark
command.subsystem.15.*=3
command.mode.15.*=savebefore:no
command.shortcut.15.*=Alt+.

command.name.16.*=Set Mark
command.16.*=set_mark
command.subsystem.16.*=3
command.mode.16.*=savebefore:no
command.shortcut.16.*=Ctrl+'

command.name.17.*=Select from Mark
command.17.*=select_mark
command.subsystem.17.*=3
command.mode.17.*=savebefore:no
command.shortcut.17.*=Ctrl+/


#ctags.exe --recurse --totals=yes --languages=c,c++ --verbose "d:\*" "c:\*"
command.name.18.*=rebuildTags
command.18.*=$(SciteDefaultHome)/ctags --recurse --totals=yes --languages=c,c++ "C:\Dokumente und Einstellungen\lars\Desktop\linux-2.6.15.7\*"
command.subsystem.18.*=0
command.mode.18.*=savebefore:no

產生標籤檔案

舉例來說,如果您想要瀏覽 SciTE 原始碼,則建立標籤資料庫的指令為
e:\scite> ctags src\*.cxx src\*.h win32\*.cxx win32\*.h
然後將 ctags.path.cxx 設定為 e:\scite\tags

尋找標籤(適用於所有版本)

基本操作為 尋找標籤,或 Ctrl+。,它適用於游標下的字詞。這會設定標記,所以您可以透過 前往標記 或 Alt+. 馬上回到原本的位置(我在 GTK 1.2 版本中無法設定此類型的捷徑,因此請多嘗試。無論如何,您的手指會找到其他更方便的捷徑)。

另外,Ctrl+' 會 設定標記,而 Ctrl+/ 會選取游標和標記位置之間的文字。

對於基本指令碼,由於它需要執行 readtags,因此會在 Windows 下得到一個令人討厭的黑色閃爍框。一個不需要修補 SciTE 的快速解決方案是 SciteOther 函式庫;SciteTags 會自動嘗試載入此函式庫(如果在通常位置中可用的話)。所有延伸版本 ctagsx.lua, ctagsx_alt.lua 沒有此問題,但您必須將指令碼放置在 scite_lua 目錄中。

延伸功能(適用於延伸版本)

這些功能可供 ctagsx.lua, ctagsx_alt.lua 使用。當搜尋揭露多於一個相符標籤時,所有相符的標籤都會出現在一個下拉清單中供選擇。另外還有 Alt+C 鍵功能,允許透過名稱尋找標籤。Alt+C 接著 't' 允許找出完全輸入的標籤名稱。Alt+C 接著 'f' 允許尋找符合正規表示式的標籤名稱。
RecentChanges · 喜好設定
編輯 · 歷程記錄
最後編輯於 2007 年 5 月 11 日下午 5:12 GMT (diff)