2016-08-05 35 views
1

Wie kann ich "Goto Definition" in der Sprache einstellen, an der ich gerade arbeite?Sublime Text 3 - Sprachspezifisch Gehe zu Definition Tastaturkürzel

Zum Beispiel:

In Python Ich möchte PythonIDE die unterwegs Definition verwenden:

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

Und GoSublime den go definitions für jede andere Sprache, zum Beispiel Go, ich verwenden möchte:

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

Ich frage mich, wie kann ich den Kontext festlegen?

+0

Warum verwenden Sie keine sprachspezifischen Plugins, die das für Sie erledigen? GoSublime zum Beispiel. – OneOfOne

+0

Das funktioniert aber nicht nach meiner Anforderung. In diesem Fall muss ich eine Verknüpfung für die Definitionsfunktion jeder Sprache definieren. –

Antwort

1

Der Kontext, die Sie wollen, ist für selector:

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

Sie können mehr oder weniger Spezifität nach Bedarf hinzufügen. Verwenden Sie Ctrl + Shift + Alt + P oder Shift + Ctrl + P (MacOS), um die Bereichsauswahl für die aktuelle Position anzuzeigen.

+0

Vielen Dank! Ich habe auch deine Antwort aufgefrischt. –

+0

Und was, wenn wir das Gleiche für Strg + Klick-Verknüpfungen tun möchten? –

+0

Ich glaube nicht, dass es ein Analog für die Einstellung eines solchen Kontexts in einer 'sublime-mousemap'-Datei gibt, obwohl ich falsch liegen könnte. Die Dokumentation scheint spärlich und ich konnte keine Beispiele finden, die das tun. Dies könnte über einen benutzerdefinierten Plugin-Befehl möglich sein, der den Dateinamen/die Syntax der angeklickten Ansicht überprüft und dann den entsprechenden Befehl ausführt. – OdatNurd