Sublime 3 - 设置功能Goto Definition的键映射

Kiv*_*ius 139 keyboard-shortcuts sublimetext sublimetext2 sublimetext3

我想创建一个Eclipse样式快捷方式Ctrl+ MouseClick来打开函数/方法.Sublime Text 3已经调用了这个函数goto_definition但它必然会被绑定F12.

但我不确定如何创建此绑定.我在这里查看文档,但它太复杂了.你能用这个简单的键绑定来帮助我吗?

编辑:在这篇文章之后,我被告知这样做:http://webtempest.com/better-definition-navigation-in-sublime-text-3/

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["super", "shift"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用,ctrl+ shift+ click什么都不执行.

Bor*_*rić 235

对于任何想要设置Eclipse样式goto定义的人,您需要.sublime-mousemap在Sublime User文件夹中创建文件.

窗口-创建Default (Windows).sublime-mousemap%appdata%\Sublime Text 3\Packages\User

Linux的-创建Default (Linux).sublime-mousemap~/.config/sublime-text-3/Packages/User

苹果-创建Default (OSX).sublime-mousemap~/Library/Application Support/Sublime Text 3/Packages/User

现在打开该文件并将以下配置放入其中

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]
Run Code Online (Sandbox Code Playgroud)

您可以根据需要更改modifiers密钥.


由于Ctrl- button1在Windows和Linux上用于多个选择,Alt如果要使用这两个功能,添加第二个修改键可能是个好主意:

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl", "alt"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]
Run Code Online (Sandbox Code Playgroud)

或者,您可以单独使用鼠标右键(button2)Ctrl,而不会干扰任何内置函数.

  • 这似乎是正确的答案,但我做了你说的所有事情仍然没有工作我是`ctrl` +`click`而它没有做任何事情,我得到一个错误`无法解析绑定 (3认同)

mbo*_*kil 89

设置转到定义为alt + d.从菜单首选项>键绑定 - 用户.然后添加以下JSON.

[
    { "keys": ["alt+d"], "command": "goto_definition" }
]
Run Code Online (Sandbox Code Playgroud)

  • 您可能因为原始问题"我想创建一个Eclipse样式shorcut Ctrl + MouseClick来打开函数/方法"而被低估了.我发现你的答案很有用,因为我对鼠标快捷方式版本不感兴趣,所以我赞成了.:) (9认同)

phi*_*_us 22

如果您想了解如何进行正确的定义,请转到Sublime Text-> Preferences-> Key Bindings - Default并搜索您要覆盖的命令.

{ "keys": ["f12"], "command": "goto_definition" },
{ "keys": ["super+alt+down"], "command": "goto_definition" }
Run Code Online (Sandbox Code Playgroud)

这是我的默认值中显示的两个.

在Mac上我复制了第二个以覆盖.

在Sublime Text - > Preferences - > Key Bindings - User我添加了这个

/* Beginning of File */

[
    {
        "keys": ["super+shift+i"], "command": "goto_definition" 
    }
]

/* End of File */
Run Code Online (Sandbox Code Playgroud)

这将它绑定到mac上的Command + Shift + 1组合.


小智 6

在Mac上,您必须自行设置键盘绑定。只需转到

Sublime --> Preference --> Key Binding - User  
Run Code Online (Sandbox Code Playgroud)

并输入以下内容:

{ "keys": ["shift+command+m"], "command": "goto_definition" }
Run Code Online (Sandbox Code Playgroud)

这将启用键绑定Shift + Command + M以启用goto定义。您可以将按键绑定设置为您当然想要的任何东西。