Як отримати контурний вигляд у піднесеному текстовому редакторі?


117

Як отримати контурний вигляд у піднесеному текстовому редакторі для Windows?

Мінімальна карта корисна, але я пропускаю традиційний контур (стислий список усіх функцій у моєму коді в порядку, який вони з'являються для швидкої навігації та орієнтації)

Можливо, є плагін, аддон або подібне? Було б також непогано, якщо ви можете коротко назвати, які кроки необхідні, щоб він працював.

Існує дублікат цього питання на піднесеній текстових форумах.


Я додав запит на функцію для SublimeText 3. Не соромтеся голосувати за нього.
Ім'я Карл

Відповіді:


266

Натисніть CTRL+ Rабо CMD+ Rдля Mac для списку функцій. Це працює в піднесеному тексті 1.3 або вище.


Звучить добре. Але нічого не відбувається, коли я натискаю ctrl-r. У мене відкритий файл php. Чи можу я знайти команду в меню? Чи працює це без плагіна? karlthorwald
користувач89021

6
Ctrl + r існує в поточній бета-версії ( sublimetext.com/beta ), але не в 1.2
jskinner

1
Це дивовижно, і мені дуже не вистачало контуру з Eclipse. Це, чесно кажучи, набагато краще, хоча я хотів би, щоб він мав можливість підтягувати лише основні функції, а не функції зворотного виклику / успіху.
Michael BW

1
Список, на жаль, не відсортований. Мені не вистачає контуру Eclipse з відсортованим списком функцій.
скорпіодавг

1
Будь-який додатковий прогрес у реальному контурі, як, наприклад, у редакторах Eclipse та Oxygen? Те, чого бракує ctrl + r, - немає вказівки на те, що було окреслено, чи це змінна чи функціональна.
kstubs

17

Я використовую складку всі дії. Це зведе до мінімуму все до декларації, я можу побачити всі методи / функції, а потім розгорнути те, що мене цікавить.


10
З меню ST 3: Редагування коду Folding-Fold All. Ярлик Ctrl + k, 1. Ctrl-k, j до скасування
wolfstevent

16

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

Примітка: вона не працює в режимі кількох рядків / стовпців. Для роботи декількох рядків / стовпців використовуйте цю виделку: https://github.com/vlad-wonderkidstudio/SublimeOutline


2
Примітка. Щоб вийти з виду "Контур", натисніть кнопку "Закрити" на вкладці "Контур", потім натисніть Shift+ Alt+ 1або перейдіть до "Перегляд" - "Макет -> Одинарний". Щоб відкрити резервну копію, використовуйте Ctrl+ Shift+, Pтоді шукайтеBrowse Mode: Outline
Габріель Степлес

8

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

Тому я здогадуюсь, що плагін, який відображав би контур / структуру вашого файлу, можливий.

Плагін, який відображатиме щось подібне:

контур контуру

Примітка: плагін Імен функції може бути використаний в якості натхнення для вилучення / імен методів класу або ClassHierarchy для вилучення структури контуру


0

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

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

Відповідь далеко не ідеальна, особливо у випадках, коли коментарі містять у собі слово (або еквівалент), але я думаю, що це корисна відповідь.

З дуже швидким редагуванням це результат, який я отримав над тим, над чим зараз працюю.

    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){};
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.