2016-08-21 4 views
-1

Ich möchte einige lokale Perl packages umgestalten, die ich schlecht geschrieben habe, aber ich habe Aufrufe an ihre Unterprogramme in einer Reihe von Skripten in einem Baum von Verzeichnissen verstreut.Perl Editor Hilfsfunktionen - Gehe zu Deklaration/gehe zu Implementierungen

Ich brauche einen Editor, damit ich zur Subroutinen-Deklaration springen und Implementierungen/Verwendungen finden kann.

Ich habe versucht https://github.com/Camelcade/Perl5-IDEA und Notepad++ SourceCookiefier.

SourceCookiefier ist keine echte Lösung, es kann keine Implementierungen finden, und Sie müssen die Dateien manuell angeben, die es indizieren soll.

Auf der anderen Seite scheint Perl5-IDEA mehr auf den Job zu sein, aber wenn ich den Stammordner des Moduls angeben, beginnt es zu indizieren alles, was es findet, bis es hängt/nicht genügend Arbeitsspeicher. Neben diesen .pl/.pm Skripten habe ich noch viele andere Datendateien, die ich momentan nicht von diesen Verzeichnissen trennen kann. Ich hätte für sie einen Ausschlusstyp-Filter benötigt. Ich kann keinen Ausschlussfilter in IntelliJ + Perl5-IDEA plugin finden.

Also, wissen Sie, welchen Editor ich verwenden könnte, um von go to declaration/go to implementations zu profitieren und .pl/.pm Dateien aus Unterverzeichnissen eines angegebenen Stammverzeichnisses zu importieren?

+1

Haben Sie ['ctags for vim'] (https://andrew.stwrt.ca/posts/vim-ctags/) (unterstützt Perl) und/oder Perls Modul [' Perl :: Tags'] probiert? (http://search.cpan.org/~osfameron/Perl-Tags-0.30/README.pod)? – zdim

+0

Ich habe nicht. Ich bin auf Windows. – Nick

+1

Ich glaube, dass all das unter Windows verwendet werden kann. Die Verwendung von "Ctags" ist eine sehr alte, traditionelle (und effektive) Methode, um zu tun, was Sie wollen. Auf der anderen Seite würde ich mir vorstellen, dass große integrierte Umgebungen diese Funktionalität haben. Haben Sie [Padre'] (http://padre.perlide.org/) angeschaut, und wie ist ActiveState in dieser Hinsicht? – zdim

Antwort

0

Wie wäre es mit Sonnenfinsternis?
Sie können alle Ihre Module in separaten Registerkarten öffnen. Wenn Sie die nächste Verwendung einer Soubroutine finden möchten, wählen Sie einfach ihren Namen und drücken Sie Ctrl+K. Wenn Sie zur aktuellen Deklaration der Subroutine im aktuellen Modul springen wollen, wählen Sie einfach den Namen und drücken Sie F3. Wenn es in einem anderen Modul definiert ist, nur Ctrl+H (dies wird in allen Projekt-Modulen für den gegebenen Namen suchen; Tipp: Wenn Sie nach soubroutine do_something suchen möchten, suchen Sie nach sub do_something) und es wird zurückgegeben, wo Sie die soubroutine definiert wurde .
Es indiziert auch Ihre Soubroutines (ein Klick auf einen Sobroruitnie springt direkt zu Ihrer Unterdeklaration).
Um Ihren Kommentar hinzuzufügen, können Sie einen Filter hinzufügen, um nur die gewünschten Erweiterungen auszuwählen. enter image description here

+0

Kann ich ihm einen Ordner geben, damit er nach '.pl/.pm' Dateien sucht und den Rest ausschließt Indizierung? – Nick

+0

Sie können auf das Menü gehen-> Datei-> öffnen und in den Fenstern, die angezeigt werden, gehen Sie zum gewünschten Ordner und geben Sie das Suchfeld '* .pm | * .pl'. Wählen Sie dann alle aus und drücken Sie auf. –

+0

Ich habe einen Screenshot hinzugefügt –