it-swarm.com.de

Wie bekomme ich eine Gliederungsansicht in einem Texteditor?

Wie bekomme ich eine Gliederungsansicht in sublime Texteditor für Windows? 

Die Minikarte ist hilfreich, aber ich vermisse eine traditionelle Gliederung (eine klickbare Liste aller Funktionen in meinem Code in der Reihenfolge, in der sie zur schnellen Navigation und Orientierung erscheinen).

Vielleicht gibt es ein Plugin, ein Addon oder ähnliches? Es wäre auch schön, wenn Sie kurz benennen könnten, welche Schritte notwendig sind, damit es funktioniert.

Es gibt ein Duplikat dieser Frage in den erhabenen Textforen.

102
user89021

Schlagen CTRL+R, oder CMD+R für Mac für die Funktionsliste. Dies funktioniert in Sublime Text 1.3 oder höher.

252
Cory Petosky

Ich benutze die Aktion Alles falten. Es wird alles auf die Deklaration reduziert, ich kann alle Methoden/Funktionen sehen und dann diejenige erweitern, die mich interessiert.

13
Enmanuel Rivera

Ich schaue kurz auf SublimeText 3 api und view.find_by_selector(selector) scheint in der Lage zu sein, eine Liste von Regionen zurückzugeben.

Ich denke also, dass ein Plugin möglich ist, das die Gliederung/Struktur Ihrer Datei anzeigt.

Ein Plugin, das ungefähr so ​​aussieht: 

code outline

Hinweis: Das Funktionsnamen-Anzeige-Plugin könnte als Inspiration zum Extrahieren der Klassen-/Methodennamen oder ClassHierarchy zum Extrahieren der Gliederungsstruktur verwendet werden

7
Name is carl

Ein Plugin mit dem Namen Outline ist in der Paketkontrolle verfügbar. Versuchen Sie es! https://packagecontrol.io/packages/Outline

7
Elian

Wenn Sie die Umrisse ausdrucken oder speichern möchten, ist Strg/Befehl + r nicht sehr nützlich. __ Sie können ein einfaches finden alle in den folgenden grep^[^\n]*function[^{]+{oder einigen Variante davon je nach Sprache und Situation, in der Sie arbeiten.

Sobald Sie alles gefunden haben, können Sie das Ergebnis kopieren und in ein neues Dokument einfügen. Je nach Anzahl der Funktionen sollte es nicht lange dauern, bis es aufgeräumt ist.

Die Antwort ist alles andere als perfekt, vor allem wenn die Kommentare die Word-Funktion (oder eine entsprechende Entsprechung) enthalten, aber ich denke, es ist eine hilfreiche Antwort. 

Mit einer sehr schnellen Bearbeitung ist dies das Ergebnis, an dem ich gerade arbeite.

    PathMaker.prototype.start = PathMaker.prototype.initiate = function(point){};
    PathMaker.prototype.path = function(thePath){};
    PathMaker.prototype.add = function(point){};
    PathMaker.prototype.addPath = function(path){};
    PathMaker.prototype.go = function(distance, angle){};
    PathMaker.prototype.goE = function(distance, angle){};
    PathMaker.prototype.turn = function(angle, distance){};
    PathMaker.prototype.continue = function(distance, a){};
    PathMaker.prototype.curve = function(angle, radiusX, radiusY){};
    PathMaker.prototype.up = PathMaker.prototype.north = function(distance){};
    PathMaker.prototype.down = PathMaker.prototype.south = function(distance){};
    PathMaker.prototype.east = function(distance){};
    PathMaker.prototype.west = function(distance){};
    PathMaker.prototype.getAngle = function(point){};
    PathMaker.prototype.toBezierPoints = function(PathMakerPoints, toSource){};
    PathMaker.prototype.extremities = function(points){};
    PathMaker.prototype.bounds = function(path){};
    PathMaker.prototype.tangent = function(t, points){};
    PathMaker.prototype.roundErrors = function(n, acurracy){};
    PathMaker.prototype.bezierTangent = function(path, t){};
    PathMaker.prototype.splitBezier = function(points, t){};
    PathMaker.prototype.arc = function(start, end){};
    PathMaker.prototype.getKappa = function(angle, start){};
    PathMaker.prototype.circle = function(radius, start, end, x, y, reverse){};
    PathMaker.prototype.ellipse = function(radiusX, radiusY, start, end, x, y , reverse/*, anchorPoint, reverse*/ ){};
    PathMaker.prototype.rotateArc = function(path /*array*/ , angle){};
    PathMaker.prototype.rotatePoint = function(point, Origin, r){};
    PathMaker.prototype.roundErrors = function(n, acurracy){};
    PathMaker.prototype.rotate = function(path /*object or array*/ , R){};
    PathMaker.prototype.moveTo = function(path /*object or array*/ , x, y){};
    PathMaker.prototype.scale = function(path, x, y /* number X scale i.e. 1.2 for 120% */ ){};
    PathMaker.prototype.reverse = function(path){};
    PathMaker.prototype.pathItemPath = function(pathItem, toSource){};
    PathMaker.prototype.merge = function(path){};
    PathMaker.prototype.draw = function(item, properties){};
0
Trevor