web-dev-qa-db-fra.com

Sublime 3 - Définir la mappe de touches pour la fonction Goto Definition

Je veux créer un raccourci de style Eclipse Ctrl+MouseClick pour ouvrir la fonction/méthode. Sublime Text 3 a déjà cette fonction appelée goto_definition mais il est lié à F12.

Mais je ne sais pas comment créer cette liaison. J'ai cherché ici pour la documentation, mais c'était trop complexe. Pouvez-vous m'aider avec cette liaison de clé simple?

Edit: Après cet article, on m'a dit de faire ceci: http://webtempest.com/better-definition-navigation-in- sublime-text-3 /

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["super", "shift"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

Cela ne semble pas fonctionner, ctrl+shift+click n'exécute rien.

134
Kivylius

Pour quiconque souhaite définir une définition de style dans Eclipse, vous devez créer le fichier .sublime-mousemap dans le dossier Sublime User.

Windows - créez Default (Windows).sublime-mousemap dans %appdata%\Sublime Text 3\Packages\User

Linux - crée Default (Linux).sublime-mousemap dans ~/.config/sublime-text-3/Packages/User

Mac - créez Default (OSX).sublime-mousemap dans ~/Library/Application Support/Sublime Text 3/Packages/User

Maintenant, ouvrez ce fichier et mettez la configuration suivante à l'intérieur

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

Vous pouvez modifier la touche modifiers à votre guise.


Puisque Ctrl-button1 sous Windows et Linux est utilisé pour plusieurs sélections, en ajoutant une deuxième touche de modification comme Alt Cela pourrait être une bonne idée si vous voulez utiliser les deux fonctionnalités:

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl", "alt"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

Vous pouvez également utiliser le bouton droit de la souris (button2) avec Ctrl seul et ne pas interférer avec les fonctions intégrées.

230
Boris Brdarić

Pour définir go to definition à alt + d. Dans les préférences de menu> Key-Bindings-User. Et ajoutez ensuite le JSON suivant.

[
    { "keys": ["alt+d"], "command": "goto_definition" }
]
86
mbokil

Si vous voulez voir comment faire une définition appropriée, allez dans Sublime Text-> Préférences-> Liaisons de touches - Par défaut et recherchez la commande que vous souhaitez remplacer.

{ "keys": ["f12"], "command": "goto_definition" },
{ "keys": ["super+alt+down"], "command": "goto_definition" }

Ce sont deux qui montrent dans mon défaut.

Sur Mac, j'ai copié le second pour le remplacer.

dans Sublime Text -> Préférences -> Liaisons de touches - Utilisateur J'ai ajouté ceci

/* Beginning of File */

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

/* End of File */

Cela le lie à la combinaison Commande + Maj + 1 sur mac.

22
philcollin_us

Sur un mac, vous devez définir vous-même la liaison clavier. Il suffit d'aller à

Sublime --> Preference --> Key Binding - User  

et entrez ce qui suit:

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

Cela activera le raccourci clavier de Shift + Command + M pour activer la définition de goto. Vous pouvez définir le raccourci clavier comme bon vous semble.

4
Nick Ganguly

ctrl! = super sous windows et linux.

Si la version F12 de "Goto Definition" produit les résultats de plusieurs fichiers, la version "ctrl + shift + clic" risque de ne pas fonctionner correctement. J'ai trouvé ce bogue lors de la visualisation du projet golang avec le package GoSublime.

4
kittykitty

J'utilise la version portable de Sublime (pour Windows) et cela (placer le mousemap dans le dossier SublimeText\Packages\User) ne fonctionnait pas pour moi.

J'ai dû placer le fichier mousemap dans le dossier SublimeText\Data\Packages\User pour le faire fonctionner, où SublimeText est le répertoire d'installation de ma version portable. Data\Packages\User est l'endroit où j'ai trouvé le fichier de clavier.

0
Ravi