我想创建一个 Eclipse 风格的快捷方式 Ctrl+MouseClick 来打开函数/方法。 Sublime Text 3 已经有这个名为 goto_definition
的函数,但它绑定到 F12。
https://i.stack.imgur.com/hVNDJ.jpg
但我不确定如何创建此绑定。我查看了 here 的文档,但它太复杂了。你能帮我解决这个简单的键绑定吗?
编辑:在这篇文章之后,我被告知要这样做:http://webtempest.com/better-definition-navigation-in-sublime-text-3/
[
{
"button": "button1",
"count": 1,
"modifiers": ["super", "shift"],
"press_command": "drag_select",
"command": "goto_definition"
}
]
这似乎不起作用, ctrl+shift+click 什么也不执行。
super
是 Windows 和 Linux 的 windows 键和 OS X 的命令键,而不是控件。试试看,看看你是否得到了你想要的行为。
对于其他想要设置 Eclipse 风格 goto 定义的人,您需要在 Sublime User
文件夹中创建 .sublime-mousemap
文件。
Windows - 在 %appdata%\Sublime Text 3\Packages\User
中创建 Default (Windows).sublime-mousemap
Linux - 在 ~/.config/sublime-text-3/Packages/User
中创建 Default (Linux).sublime-mousemap
Mac - 在 ~/Library/Application Support/Sublime Text 3/Packages/User
中创建 Default (OSX).sublime-mousemap
现在打开该文件并将以下配置放入其中
[
{
"button": "button1",
"count": 1,
"modifiers": ["ctrl"],
"press_command": "drag_select",
"command": "goto_definition"
}
]
您可以随意更改 modifiers
键。
由于 Windows 和 Linux 上的 Ctrl-button1
用于多选,如果您想同时使用这两个功能,添加第二个修改键(如 Alt)可能是个好主意:
[
{
"button": "button1",
"count": 1,
"modifiers": ["ctrl", "alt"],
"press_command": "drag_select",
"command": "goto_definition"
}
]
或者,您可以单独使用鼠标右键 (button2
) 和 Ctrl,而不会干扰任何内置功能。
将转到定义设置为 alt + d。从菜单首选项 > 键绑定-用户。然后添加以下 JSON。
[
{ "keys": ["alt+d"], "command": "goto_definition" }
]
button1
而不是 d
...所以,我们有像 "alt" + "button"
如果您想了解如何进行正确的定义,请进入 Sublime Text->Preferences->Key Bindings - Default 并搜索您要覆盖的命令。
{ "keys": ["f12"], "command": "goto_definition" },
{ "keys": ["super+alt+down"], "command": "goto_definition" }
这两个显示在我的默认值中。
在 Mac 上,我复制了第二个以覆盖。
在 Sublime Text -> Preferences -> Key Bindings - 用户我添加了这个
/* Beginning of File */
[
{
"keys": ["super+shift+i"], "command": "goto_definition"
}
]
/* End of File */
这将它绑定到 mac 上的 Command + Shift + 1 组合。
在 Mac 上,您必须自己设置键绑定。只需前往
Sublime --> Preference --> Key Binding - User
并输入以下内容:
{ "keys": ["shift+command+m"], "command": "goto_definition" }
这将启用 Shift + Command + M
的键绑定以启用 goto 定义。当然,您可以将键绑定设置为您想要的任何内容。
shift+command+m
更改为 shift+control+m
ctrl != 在 windows 和 linux 机器上超级。
如果“Goto Definition”的 F12 版本产生多个文件的结果,“ctrl + shift + click”版本可能无法正常工作。我在使用 GoSublime 包查看 golang 项目时发现了该错误。
ctrl+dot,ctrl+g
或 ctrl+shift+left-click
在 Windows 上。在 Mac 上将 ctrl 替换为命令。
我正在使用 Sublime 便携式版本(适用于 Windows),而这(将鼠标映射放在 SublimeText\Packages\User
文件夹中)对我不起作用。
我必须将鼠标映射文件放在 SublimeText\Data\Packages\User
文件夹中才能使其工作,其中 SublimeText
是我的便携式版本的安装目录。 Data\Packages\User
也是我找到键盘映射文件的地方。
ctrl
+click
,它什么也没做,我收到错误Unable to parse binding