it-swarm.com.ru

Как получить контурный вид в возвышенном текстовом редакторе?

Как мне получить контурный вид в возвышенном текстовом редакторе для Windows? 

Мини-карта полезна, но я скучаю по традиционному контуру (щелкающий список всех функций в моем коде в порядке их появления для быстрой навигации и ориентации)

Может быть, есть плагин, аддон или подобное? Также было бы хорошо, если бы вы вкратце назвали, какие шаги необходимы для его работы.

Существует дубликат этого вопроса на возвышенных текстовых форумах.

102
user89021

Удар CTRL+R, или же CMD+R для Mac, для списка функций. Это работает в Sublime Text 1.3 или выше.

252
Cory Petosky

Я использую фолд все действия. Это минимизирует все до объявления, я могу увидеть все методы/функции, а затем развернуть тот, который мне интересен.

13
Enmanuel Rivera

Я кратко смотрю на SublimeText 3 api , и view.find_by_selector(selector), кажется, может вернуть список регионов.

Поэтому я предполагаю, что плагин, который будет отображать схему/структуру вашего файла, возможен.

Плагин, который будет отображать что-то вроде этого: 

code outline

Примечание: плагин отображения имени функции можно использовать как источник вдохновения для извлечения имен классов/методов или ClassHierarchy для извлечения структуры структуры

7
Name is carl

Плагин с именем Outline доступен в управлении пакетами, попробуйте его! https://packagecontrol.io/packages/Outline

7
Elian

Если вы хотите иметь возможность распечатать или сохранить схему, ctr/command + r не очень полезна . Можно сделать простой найти все на следующем grep ^[^\n]*function[^{]+{ или некоторых Вариант его соответствия языку и ситуации, в которой вы работаете.

После того, как вы найдете все, что вы можете скопировать и вставить результат в новый документ, и в зависимости от количества функций не займет много времени, чтобы привести в порядок.

Ответ далек от совершенства, особенно в случаях, когда в комментариях есть функция Word (или ее эквивалент), но я думаю, что это полезный ответ. 

С очень быстрым редактированием это результат, который я получил по тому, над чем я сейчас работаю.

    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