2016-08-05 226 views
1

如何根据我正在使用的语言设置“转到定义”工作。Sublime Text 3 - 语言特定转到定义键盘快捷键

例如:

在Python我想用PythonIDE的转到定义:

{ 
     "keys": ["ctrl+d"], 
     "command": "python_goto_definition" 
    }, 

而且,对于任何其他语言,比如围棋,我想用GoSublime的转到定义:

{ 
     "keys": ["ctrl+d"], 
     "command": "go_sublime_goto_definition" 
    }, 

我想知道如何设置上下文?

+0

为什么不使用特定于语言的插件来处理这个问题?例如GoSublime。 – OneOfOne

+0

这有效,但不符合我的要求。在这种情况下,我需要为每种语言的goto定义函数定义一个快捷方式。 –

回答

1

想要的背景是为selector

{ 
    "keys": ["ctrl+d"], 
    "command": "python_goto_definition", 
    "context": [ 
     { "key": "selector", "operator": "equal", "operand": "source.python" } 
    ] 
}, 

您可以根据需要添加更多或更少的特异性。使用Ctrl + Shift + Alt + PShift + Ctrl + P(MacOS)查看当前位置的范围选择器。

+0

非常感谢!我也提高了你的答案。 –

+0

而且,如果我们想对Ctrl +单击快捷方式执行相同的操作,该怎么办? –

+0

我不认为在sublime-mousemap文件中设置这样的上下文是模拟的,尽管我可能是错的。关于它的文档似乎很少,我无法找到任何实例。通过自定义插件命令可能会检查点击视图的文件名/语法,然后运行相应的命令。 – OdatNurd