Wie kann ich im Atom-Texteditor zur Klassen- / Methodendefinition springen?

135

Gibt es eine einfache Möglichkeit, dies zu tun? Auf Aptana habe ich Control+ click verwendet und ich wünschte, es gäbe eine Möglichkeit, etwas Ähnliches auf Atom zu tun.

Andromeda
quelle
1
Atom alleine hat diese Funktion nicht, Sie können einige Pakete installieren, die damit umgehen atom.io/packages/navigate
IROEGBU
@iroegbu Ich habe das Paket ausprobiert, aber es funktioniert nicht wie erwartet und das "Doppelklick, um zur Definition zu gelangen" -Geschäft ist auch nicht gerechtfertigt, da Sie manchmal einfach ein Code-Nugget auswählen möchten und zu einer neuen Datei ohne springen möchten die Option zurück zu gehen (f3 funktioniert nicht).
Andromeda
1
Ich benutze Atom nicht. Vielleicht möchten Sie sich unter talk.atom.io/t/is-there-a-simple-go-to-definition/11809
IROEGBU am
Danke @iroegbu Ich werde auf jeden Fall die Seite sehen, um zu sehen, was auftaucht.
Andromeda

Antworten:

75

Ich hatte das gleiche Problem und Atom-Goto-Definition (Paketname Goto-Definition ) wirkte für mich wie ein Zauber. Bitte versuchen Sie es einmal. Sie können direkt von Atom herunterladen.

Dieses Paket ist veraltet. Bitte überprüfen Sie es in Github.

Sitam Jana
quelle
1
Ich kann bestätigen, dass dies funktioniert. Vielen Dank. Die Standardschlüsselbindung ist STRG + ALT + EINGABETASTE
andromeda
3
Dies ist das einzige Paket, das bei einem etwas größeren Projekt funktioniert. Vielen Dank! Ich habe Atom-Ctags, Symbol-Get, Goto-Pakete ausprobiert und keines davon hat funktioniert :-(. Entweder hat es einen Atomabsturz verursacht oder es hat zu lange gedauert.
Mi-La
Das ist ziemlich träge, aber es funktioniert. Mein Projekt ist winzig, daher denke ich nicht, dass dies gut skaliert werden kann.
Davegallant
50
Was ist die Alternative zu diesem veralteten Paket?
Steven Shaw
1
Autocomplete-Python
Raj
32

Ich glaube, das Problem mit "Gehe zu" -Paketen ist, dass sie für jede Sprache unterschiedlich funktionieren würden.

Wenn Sie Javascript verwenden, können js-hyperclick und hyperclick (da Code-Links veraltet sind) möglicherweise das tun, was Sie benötigen.


Verwenden Sie ein symbols-viewPaket, mit dem Sie suchen und zur Funktionsdeklaration springen können, jedoch nur die aktuell geöffnete Datei. Leider kenne ich keine andere Sprache.

Es gibt auch ein anderes Paket, das für die Verwendung in Python nützlich sein könnte: Python-Tools

Seit Mai 2016 unterstützt die aktuelle Version von Atom "Go-To" nativ . Im GitHub- Repo für dieses Modul erhalten Sie eine Liste der folgenden Schlüssel:

  • symbols-view:toggle-file-symbolsum alle Symbole in der aktuellen Datei anzuzeigen
  • symbols-view:toggle-project-symbolsum alle Symbole im Projekt anzuzeigen
  • symbols-view:go-to-declarationzum Symbol unter dem Cursor springen
  • symbols-view:return-from-declarationzu Rückkehr aus dem Sprung

Bildschirmfoto

Bei Atom fehlt mir jetzt nur noch eines: Mausklickbindungen. Es gibt ein offenes Problem bei Github, wenn jemand dieser Funktion folgen möchte.

Cortopy
quelle
Danke @corpy Code-Links sehen aus wie eine nette Idee für js und ich werde es ausprobieren. Ich musste mich an einen Workflow anpassen, der diese Funktion nicht enthält, da ich hauptsächlich in PHP codiere.
Andromeda
Ich würde nichts über PHP-Pakete wissen. Und das mag ein langer Weg sein, aber haben Sie es mit Symbolbaumansichten versucht ? Es ist sicherlich nicht das, was Sie wollten, aber es würde zumindest eine einfachere visuelle Navigation ermöglichen, wenn Ihre PHP-Klassen / -Dateien lang sind
Cortopy
Sehr geschätzt. Ich werde schauen und sehen, was es zu bieten hat.
Andromeda
Können Sie Symbole für Rails (.erb) -Dateien finden?
Albert Català
Python-Tools funktionieren absolut gut für Python [getestet]. Installieren Sie mit diesem Befehl apm install python-tools. Nach der Installation starten Sie Ihren Atom-Editor neu und es wird funktionieren (z. B. Strg + Alt + G).
Kevin Patel
17

Ich hatte auch das gleiche Problem. Und ich finde die Lösung:

CTRL+ALT+G

Aktualisieren:

Installieren Sie dank @Joost das Atom-Paket Python-Tools , damit es funktioniert

Q-Bart
quelle
15
Ab dem 11. Juli 2016 scheint dieser Befehl nichts zu tun.
Fang Chen
Diese Kombination startet den Styleguide von Atom, der Ihnen alle in Atom verwendeten UI-Komponenten zeigt. Es ist nützlich als Referenz bei der Entwicklung von Themen und Paketen.
Javi Ps
Strg + Umschalt + g führt den Styleguide aus, Strg + Alt + g scheint nichts zu tun.
Pablo A
3
Nur für Sie, die sich fragen, woher dies kommt, CTRL+ALT+Gist die Standardschlüsselbindung für goto:definitiondas python-toolsAtom-Paket.
Joost
Sie müssen auch Python auf Ihrem Computer installiert haben python-tools, damit es funktioniert
BugShotGG
12

Die Funktionalität ist in atom bereits über das Symbols View-Paket vorhanden, für das Sie nichts installieren müssen.

Der Befehl Sie suchen , ist Symbole-Ansicht: go-to-Erklärung (Springe auf das Symbol unter dem Cursor) , die standardmäßig gebunden ist cmd-alt-down auf macOS und ctrl-alt-down auf Linux.

Beachten Sie nur, dass dies nur funktioniert, wenn Sie Tags für Ihr Projekt generiert haben, entweder über dieses Paket oder über ctags ( üppig oder nicht).

Edoardo
quelle
1
Standardmäßig erhalten Sie unter Linux Emacs ctag. Wie hier gesagt , um das echte ctags Installationspaket auszuführen exuberant-ctags(in Anbetracht dessen und dies scheint dasjenige zu sein, das Atom derzeit verwendet).
Pablo A
4
" Strg-Alt-Down unter Linux" - Große Auswahl an Schlüsseln. Es ist nicht so, dass dies zum Bewegen in Arbeitsbereichen verwendet wird. Verdammtes Atom, warum so kompliziert. : - \
Daniel
7

Diese Funktion wurde in den Atom-Editor integriert (siehe: symbols-viewPaket ), Sie müssen jedoch eine ctags-Symboldatei für Ihr Projekt generieren GH-9 , GH-20.

Installieren Sie dazu ctags Befehl (z. B. brew install ctagsunter macOS) und dann:

  1. Anhängen, Verknüpfen oder Kopieren ctags-configan Ihr ~/.ctagsBeispiel unter macOS:

    ln -vs "$(find /Applications/Atom.app -name ctags-config -print -quit)" ~/.ctags
    
  2. Gehen Sie zu Ihrem Projektordner und führen Sie Folgendes aus:

    cd your/project/directory
    ctags -R .
    
  3. Starten Sie den Atom-Editor neu.


Alternativ können Sie das symbol-genPaket verwenden , um eine ctags-Symboldatei für Ihr Projekt basierend auf den in der .ctagsDatei enthaltenen Optionen zu generieren . Sie können es über den Atom Package Manager installieren, indem Sie : apm install symbol-gen. Drücken Sie dann CMD- Alt- G, um eine Tag-Datei für Ihr Projekt zu generieren.


Nachdem Sie oben beschrieben haben, können Sie die Option Gehe zu Deklaration im Kontextmenü verwenden.

Unter macOS können Sie auch die folgenden Tastaturkürzel verwenden:

  • CMD- -R um zu einer Funktion / Methode im aktuellen Editor zu springen
  • Alt- CMD- Downzur Erklärung gehen.
Kenorb
quelle
4

Um dies zu lösen, müssen Sie nur 2 Pakete installieren. Folgen Sie den unteren Schritten.

  1. Öffnen Sie atom und gehen Sie zu Pakete (obere Leiste) -> Ansicht Einstellungen -> Pakete / Designs installieren .

  2. Geben Sie "goto" in das Suchfeld ein und klicken Sie rechts auf die Schaltfläche "Pakete".

  3. Installieren Sie sowohl "goto (1.8.3)" als auch "goto-definition (1.1.9)" oder spätere Versionen. Stellen Sie sicher, dass beide nach dem Download aktiviert sind.
  4. Bei Bedarf können Sie Atom neu starten (für einige Leute).
  5. Es sollte jetzt funktionieren können. Klicken Sie mit der rechten Maustaste auf die Methode / attr / was auch immer und wählen Sie " Gehe zu Definition".
Allan Mwesigwa
quelle
2

Schauen Sie sich das Paket an :

Dies ist ein Ersatz für das in Atom integrierte Symbolansichtspaket, das Atoms eigene Syntaxdateien verwendet, um Symbole anstelle von ctags zu identifizieren. Das ctags-Projekt ist sehr nützlich, wird jedoch niemals mit allen neuen Atom-Syntaxen Schritt halten, die mit dem Wachstum von Atom erstellt werden.

Befehle:

  • cmd-r - Gehe zu Dateisymbol
  • cmd-shift-r - Gehe zu Projektsymbol
  • cmd-alt-down - Gehe zu Erklärung
  • Index neu erstellen
  • Index ungültig machen

Link hier: https://atom.io/packages/goto (oder suchen Sie im Paketinstallationsprogramm nach "goto")

Abram
quelle
1

Verwenden Sie atom-ctags als Paket für die C-Sprache mit allen Dingen, die Sie benötigen:

  • Generierte ctags für Ihr Projekt. Automatische Vervollständigung.
  • Zur Deklaration gehen: Ctrl+ Alt+ Downund Alt+ Standardmäßig klicken.
  • Es gibt anpassbare Optionen für die Klickaktion.
Aleksandr Fadeev
quelle
Können wir nicht mit Alt + Rechtsklick zur Deklaration zurückkehren?
Benutzer1519240
Sie können zurückkehren, aber um zurückzukehren, sollten Sie zuerst irgendwohin gehen. Nachdem Sie "Alt + Klick" gemacht haben, können Sie natürlich mit "Alt + Linksklick" zurückkehren. Und dann "Alt + Rechtsklick", um vorwärts zurückzukehren.
Aleksandr Fadeev
Wenn Sie dieses Paket ausprobieren und dann entfernen, denken Sie daran, auch die Symbolansicht wieder zu aktivieren : apm enable symbols-view.
Pablo A
1

Ab November 2018 bietet das Paket autocomplete-python diese Funktionalität mit dieser Tastenkombination:

Ctrl+ Alt+G

mit dem Mauszeiger auf den Funktionsaufruf.

gccallie
quelle
0

Hier sind die Verknüpfungen für Mac und Windows:

Für Mac: Befehl + G.

Für Windows: STRG + ALT + G.

Dinesh Bhatia
quelle