Comment puis-je accéder à la définition de classe / méthode dans l'éditeur de texte Atom?

135

Y a-t-il un moyen facile de faire ceci? Sur Aptana, j'ai utilisé Control+ clic et j'aimerais qu'il y ait un moyen de faire quelque chose de similaire sur Atom.

andromède
la source
1
Atom seul n'a pas cette fonctionnalité, vous pouvez installer des packages qui la gèrent atom.io/packages/navigate
IROEGBU
@iroegbu J'ai essayé le package mais cela ne fonctionne pas comme prévu et cette activité de `` double-clic pour aller à la définition '' n'est pas non plus garantie car parfois vous voulez simplement sélectionner un pépite de code et ce qu'il fait est de sauter vers un nouveau fichier sans la possibilité de revenir en arrière (f3 ne fonctionne pas).
andromeda
1
Je n'utilise pas Atom, vous voudrez peut-être consulter discuter.atom.io/t/is-there-a-simple-go-to-definition/11809
IROEGBU
Merci @iroegbu Je vais certainement regarder la page pour voir ce qui apparaît.
andromeda

Réponses:

75

J'ai eu le même problème et atom-goto-definition (nom du paquet goto-definition ) a fonctionné comme un charme pour moi. Veuillez essayer une fois. Vous pouvez télécharger directement depuis Atom.

Ce package est obsolète. Veuillez le vérifier dans Github.

Sitam Jana
la source
1
Je peux confirmer que cela fonctionne. Merci. La liaison de clé par défaut est CTRL + ALT + ENTRÉE
andromeda
3
C'est le seul package qui fonctionne sur un projet un peu plus grand. Merci! J'ai essayé les packages atom-ctags, symbol-get, goto et aucun d'entre eux n'a fonctionné :-(. Soit a causé un crash d'atome, soit a pris trop de temps.
Mi-La
C'est assez lent mais ça marche. Mon projet est minuscule, donc je ne pense pas vraiment que cela évoluera bien.
davegallant le
50
Quelle est l'alternative à ce package obsolète?
Steven Shaw
1
autocomplete-python
Raj
32

Je pense que le problème avec les packages "go to" est qu'ils fonctionneraient différemment pour chaque langue.

Si vous utilisez Javascript js-hyperclick et hyperclick (car les liens de code sont obsolètes) peuvent faire ce dont vous avez besoin.


Utilisez un symbols-viewpackage qui permet de rechercher et d'accéder à la déclaration des fonctions, mais uniquement du fichier ouvert actuel. Malheureusement, je ne connais aucune autre langue équivalente.

Il existe également un autre package qui pourrait être utile pour aller en Python: python-tools

Depuis mai 2016, la version récente d'Atom prend désormais en charge "Go-To" de manière native . Dans le référentiel GitHub de ce module, vous obtenez une liste des clés suivantes:

  • symbols-view:toggle-file-symbolspour afficher tous les symboles du fichier actuel
  • symbols-view:toggle-project-symbolspour afficher tous les symboles du projet
  • symbols-view:go-to-declarationpour Aller au symbole sous le curseur
  • symbols-view:return-from-declarationà retour du saut

capture d'écran

Il ne me manque plus qu'une seule chose avec Atom pour cela: les liaisons par clic de souris. Il y a un problème ouvert sur Github si quelqu'un veut suivre cette fonctionnalité.

cortopie
la source
Merci @corpy code-links ressemble à une bonne idée pour js et je vais l'essayer. J'ai dû m'adapter à un flux de travail qui n'inclut pas cette fonctionnalité puisque je code principalement en php.
andromeda le
Je ne connais pas les paquets php. Et cela peut être long, mais avez-vous essayé l' arborescence des symboles ? Ce n'est certainement pas ce que vous vouliez, mais au moins cela donnerait une navigation visuelle plus facile si vos classes / fichiers php sont longs
cortopy
Très appréciée. Je vais regarder et voir ce qu'il a à offrir.
andromeda
Pouvez-vous trouver des symboles de fichiers de rails (.erb)?
Albert Català
python-tools fonctionne parfaitement pour python [testé]. Installez en utilisant cette commande apm install python-tools. après l'installation, redémarrez votre éditeur atom et cela fonctionnera (par exemple ctrl + alt + g).
Kevin Patel le
17

J'ai aussi eu le même problème. Et je trouve la solution:

CTRL+ALT+G

Mettre à jour:

Grâce à @Joost, installez le package Atom python-tools pour le faire fonctionner

Q-bart
la source
15
Depuis le 11 juillet 2016, cette commande ne semble rien faire.
Fang Chen
Cette combinaison lance le Styleguide d'Atom, qui vous montrera tous les composants d'interface utilisateur utilisés dans Atom. Il est utile comme référence lors du développement de thèmes et de packages.
Javi Ps
Ctrl + Maj + g exécutez le guide de style, Ctrl + Alt + g ne semble rien faire.
Pablo A
3
Juste pour vous demander d'où cela vient, CTRL+ALT+Gest la liaison de clé par défaut pour goto:definitionle python-toolspackage atom.
Joost
Vous devez également avoir python installé sur votre machine pour python-toolsfonctionner
BugShotGG
12

La fonctionnalité est déjà présente dans atom via le package Symbols View, vous n'avez rien à installer.

La commande que vous recherchez est Symboles-view: go-to-declaration (Aller au symbole sous le curseur) qui est lié par défaut à cmd-alt-down sous macOS et ctrl-alt-down sous Linux.

il suffit de noter que cela ne fonctionnera que si vous aurez généré des tags pour votre projet, soit via ce package, soit via des ctags ( exubérants ou non)

Edoardo
la source
1
Par défaut sur Linux, vous obtiendrez Emacs ctag. Comme dit ici pour exécuter le package d' installation réel (compte tenu de cela et cela semble celui qu'Atom utilise actuellement). ctagsexuberant-ctags
Pablo A
4
" ctrl-alt-down sous Linux" - Grand choix de touches, ce n'est pas comme ça qui sert à se déplacer dans les espaces de travail. Putain d'atome, pourquoi si compliqué. : - \
Daniel
7

Cette fonctionnalité a été intégrée à l'éditeur Atom (voir: symbols-viewpackage ), mais vous devez générer un fichier de symboles ctags pour votre projet GH-9 , GH-20 .

Pour ce faire, installez la ctagscommande (par exemple brew install ctagssur macOS), puis:

  1. Ajoutez, liez ou copiez ctags-configà votre ~/.ctagsexemple sur macOS:

    ln -vs "$(find /Applications/Atom.app -name ctags-config -print -quit)" ~/.ctags
    
  2. Accédez au dossier de votre projet et exécutez:

    cd your/project/directory
    ctags -R .
    
  3. Redémarrez l'éditeur Atom.


Vous pouvez également utiliser symbol-genpackage pour générer un fichier de symboles ctags pour votre projet en fonction des options trouvées dans le .ctagsfichier. Vous pouvez l' installer à partir de Atom Package Manager par: apm install symbol-gen. Puis appuyez sur CMD- Alt- Gpour générer un fichier de balises pour votre projet.


Après avoir suivi ci-dessus, vous pouvez utiliser l' option Aller à la déclaration dans le menu contextuel.

Sur macOS, vous pouvez également utiliser les raccourcis clavier suivants:

  • CMD- Rpour sauter à une fonction / méthode dans l'éditeur courant
  • Alt- CMD- Downpour aller à la déclaration.
Kenorb
la source
4

Pour résoudre ce problème, vous n'aurez besoin d'installer que 2 packages. Suivez les étapes ci-dessous.

  1. Ouvrez atom, allez dans Packages (barre supérieure) -> Affichage des paramètres -> Installer des packages / thèmes .

  2. Tapez "goto" dans le champ de recherche et cliquez sur le bouton packages à droite.

  3. Installez à la fois "goto (1.8.3)" et "goto-definition (1.1.9)" , ou des versions ultérieures. Assurez-vous que les deux sont activés après le téléchargement.
  4. Si nécessaire, vous pouvez redémarrer atom (pour certaines personnes).
  5. Cela devrait pouvoir fonctionner maintenant. Faites un clic droit sur la méthode / attr / peu importe, puis sélectionnez "Aller à la définition"
Allan Mwesigwa
la source
2

Découvrez le package goto :

Il s'agit d'un remplacement du package de vues de symboles intégré d'Atom qui utilise les propres fichiers de syntaxe d'Atom pour identifier les symboles plutôt que les ctags. Le projet ctags est très utile mais il ne suivra jamais toutes les nouvelles syntaxes Atom qui seront créées au fur et à mesure de la croissance d'Atom.

Commandes:

  • cmd-r - Symbole de fichier Aller
  • cmd-shift-r - Symbole du projet Aller
  • cmd-alt-down - Déclaration Goto
  • Reconstruire l'index
  • Invalider l'index

Lien ici: https://atom.io/packages/goto (ou recherchez "goto" dans le programme d'installation du package)

Abram
la source
1

Utilisez atom-ctags comme package pour le langage C avec tout ce dont vous avez besoin:

  • Généré des ctags pour votre projet. Saisie automatique.
  • Aller à la déclaration: Ctrl+ Alt+ Downet Alt+ Cliquez par défaut.
  • Il existe des options personnalisables pour l'action Clic.
Aleksandr Fadeev
la source
Ne pouvons-nous pas revenir à la déclaration en utilisant Alt + Clic droit?
user1519240
Vous pouvez revenir, mais pour revenir, vous devez d'abord aller quelque part. Après avoir fait "Alt + Clic", vous pouvez revenir avec "Alt + Clic gauche" bien sûr. Et puis "Alt + Clic droit" pour "revenir" en avant.
Aleksandr Fadeev
Si vous essayez ce package, puis retirez n'oubliez pas de réactiver également des symboles vue: apm enable symbols-view.
Pablo A
1

Depuis novembre 2018, le package autocomplete-python offre cette fonctionnalité avec cette combinaison de touches:

Ctrl+ Alt+G

avec le curseur de la souris sur l'appel de fonction.

gccallie
la source
0

Voici les raccourcis pour Mac et Windows:

Pour Mac: commande + G

Pour Windows: CTRL + ALT + G

Dinesh Bhatia
la source