Scite 标签

lua-users home
wiki

在大型项目中导航通常是必要的,而 ctags 是一个非常有效的工具。一个流行的 ctags 版本被称为 Exuberant Ctags [1],由 Darren Hiebert 开发,支持许多不同的语言。目前有几个脚本,因此有几种方法可以提供 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 路径的最近 tags 文件。此版本不需要在 SciTE 的属性文件中指定 ctags.path.cxx,并且它也能够处理非 Exuberant ctags <=> Files:wiki_insecure/editors/SciTE/ctagsdx.lua

使用说明

获取 ctags 工具

http://home.mweb.co.za/sd/sdonovan/SciTE/ctags.zip 包含一个预构建的 Win32 版本的 ctags。确保 ctags.exe 和 readtags.exe 都在您的路径上,并像往常一样加载 ctags.lua。(在 *nix 下,请注意,通常有一个名为 'ctags' 的程序,它不是 Exuberant!)但是,ctagsdx.lua 现在能够处理 ctags,无论是否为 Exuberant。

设置 SciTE

将这些内容放在您的属性文件中,除非您使用扩展版本 ctagsx.luactagsx_alt。所有与 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' 允许使用正则表达式查找标签名称。
最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2007 年 5 月 11 日下午 5:12 GMT (差异)