Jak uzyskać widok konturu w Sublime texteditor?

Jak uzyskać widok konturu w sublime text editor Dla Windows?

Minimapa jest pomocna, ale brakuje mi tradycyjnego konturu (klikalnej listy wszystkich funkcji w moim kodzie w kolejności, w jakiej pojawiają się dla szybkiej nawigacji i orientacji)

Może jest jakiś plugin, dodatek lub podobny? Byłoby również miło, gdybyś mógł krótko wymienić, które kroki są konieczne, aby to działało.

Jest duplikat tego pytania na wzniosłym tekście fora.

Author: BryanH, 2010-01-16

5 answers

Hit CTRL+R lub CMD+R Dla Mac, dla listy funkcji. Działa to w Sublime Text 1.3 lub nowszym.

 226
Author: Cory Petosky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-31 22:25:26

Używam fold all action. Zminimalizuje wszystko do deklaracji, mogę zobaczyć wszystkie metody / funkcje,a następnie rozszerzyć tę, która mnie interesuje.

 13
Author: Enmanuel Rivera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-08 14:18:06

Patrzę krótko na sublimetext 3 api i view.find_by_selector(selector) wydaje się być w stanie zwrócić listę regionów.

Więc domyślam się, że wtyczka, która wyświetla kontur / strukturę pliku jest możliwa.

Plugin, który wyświetla coś takiego:

zarys kodu

Uwaga: wtyczka function name display może być użyta jako inspiracja do wyodrębnienia nazw klas/metod lub Classhierrarchy do wyodrębnienia konturu struktura

 7
Author: Name is carl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-09 20:53:36

Wtyczka o nazwie Outline jest dostępna w package control, spróbuj! https://packagecontrol.io/packages/Outline

 6
Author: Elian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-02 14:09:17

Jeśli chcesz mieć możliwość wydruku lub zapisania konturu, CTR / command + R nie jest zbyt użyteczne. Można zrobić proste znaleźć wszystkie na poniższym grep ^[^\n]*function[^{]+{ lub jakiś wariant tego, aby pasował do języka i sytuacji, w której pracujesz.

Po wykonaniu znajdź wszystko można skopiować i wkleić wynik do nowego dokumentu i w zależności od liczby funkcji nie powinno zająć dużo czasu, aby uporządkować.

Odpowiedź jest daleki od ideału, szczególnie w przypadku gdy komentarze mają w sobie funkcję słowa (lub jej odpowiednik), ale myślę, że jest to pomocna odpowiedź.

Z bardzo szybkim edytowaniem jest to wynik, który otrzymałem na tym, nad czym teraz pracuję.

    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
Author: Trevor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-28 17:20:18