【发布时间】:2013-10-10 15:07:19
【问题描述】:
在 Eclipse 中,可以使用ctrl + click 直接进入函数定义。
例如:
f = my_tool.main()
如果我在main() 上ctrl + click,那么我将被定向到my_tool 模块中的主函数代码。
Sublime Text 中是否有等效的功能?
【问题讨论】:
标签: sublimetext2 sublimetext sublimetext3
在 Eclipse 中,可以使用ctrl + click 直接进入函数定义。
例如:
f = my_tool.main()
如果我在main() 上ctrl + click,那么我将被定向到my_tool 模块中的主函数代码。
Sublime Text 中是否有等效的功能?
【问题讨论】:
标签: sublimetext2 sublimetext sublimetext3
有些类似的方法是按ctrl+p 并输入<filename>@<methodname>。像往常一样,Sublime 使用模糊搜索,因此您在执行此操作时不必非常精确。
另一个漂亮的小技巧是做同样的事情,但输入<filename>:<linenumber>,它会直接带你到那一行。当您遇到异常或错误时,这很方便。
【讨论】:
F3 以获得几乎相同的行为。
虽然 Daniel 的回答是 ST 用户实现您想要的标准的方式,但您可以借助 SublimeCodeIntel 插件获得类似的功能。您可以突出显示方法或类 > 右键单击 > 转到定义。或者您可以配置自定义键盘快捷键,以便您可以突出显示并按下定义的键盘组合,您将被带到方法定义。
【讨论】:
另一种方法是为 SublimeText 安装CTags。
默认绑定允许您将光标放在函数名上并键入ctrl + t, ctrl + t,或者使用鼠标绑定并执行ctrl + shift + left-click。这会将您带到同一文件或不同文件中的函数定义。然后你可以通过ctrl + t, ctrl + b 或ctrl + shift + right-click 跳回来。
【讨论】:
现在可以在 Sublime Text 中完成。如果您将鼠标悬停在标识符上,它现在会弹出一个菜单,该菜单可以引导至定义。等待弹出窗口的速度相当慢,而您需要 Ctrl+单击。要获得它,您需要添加自定义鼠标绑定。制作方法及保存位置请见Sublime Text Mouse Binding Docs。
例如,在我的 Linux 机器上,要访问正确的目录,请使用 Preferences > Browse Packages... 并在此文件夹中找到 User 目录。在User 目录中添加一个Default (Linux).sublime-mousemap 文件。 注意:如果您不在 linux 上,Linux 部分会有所不同。我认为标识符是Windows 和OSX。
在文件中,您可以添加以下内容:
[
{
"button": "button1",
"count": 1,
"modifiers": ["alt"],
"press_command": "drag_select",
"press_args": {"additive": true}
},
{
"button": "button1",
"modifiers": ["ctrl"],
"count": 1,
"press_command": "drag_select",
"command": "goto_definition"
}
]
第一项是将之前创建多个光标的功能重新分配给 Alt+Click。第二个将 goto 定义分配给 Ctrl+Click。
【讨论】: