93

¿Cómo obtengo una vista de esquema en sublime text editor para Windows?¿Cómo obtener una vista de esquema en sublime texteditor?

El minimapa es útil, pero echo de menos un esquema tradicional (una lista klickable de todas las funciones en mi código en el orden en que aparecen para una navegación rápida y orientación)

Tal vez hay un plugin, complemento o similar? También sería bueno si puede nombrar en breve qué pasos son necesarios para que funcione.

Hay un duplicate of this question en los foros de texto sublimes.

+0

he añadido un [solicitud de función] ** (http://sublimetext.userecho.com/topic/631908-/) ** para Sublime Text 3. No dude en votar por ella. –

Respuesta

216

Hit CTRL +R, o CMD +R para Mac, por la lista de funciones. Esto funciona en Sublime Text 1.3 o superior.

+0

Suena bien. Pero no pasa nada cuando presiono ctrl-r. Tengo un archivo php abierto.¿Puedo ubicar el comando en un menú? Funciona esto sin un plugin? karlthorwald – user89021

+0

Miré, pero no hay Ctrl-R en el archivo de enlace de teclas (en las preferencias). ¿Lo tienes ahí? Si es así, ¿cuál es la "comunicación" para ello? – user89021

+6

Ctrl + r existe en la versión beta actual (http://www.sublimetext.com/beta), pero no en 1.2 – jskinner

13

Utilizo la acción doblar todo. Minimizará todo en la declaración, puedo ver todos los métodos/funciones y luego expandir el que me interesa.

+8

Desde el menú ST 3: Editar código Plegar todo. Atajo de teclado Ctrl + k, 1. Ctrl-k, j para deshacer – wolfstevent

7

Miro brevemente SublimeText 3 api y view.find_by_selector(selector) parece que puedo devolver una lista de regiones.

Así que supongo que es posible un complemento que muestre el contorno/estructura de su archivo.

Un plugin que mostraría algo como esto:

code outline

Nota: la function name display plugin podría ser utilizado como una fuente de inspiración para extraer los nombres de las clases/métodos o ClassHierarchy para extraer la estructura de esquema

0

Si desea poder imprimir o guardar el esquema, el comando ctr/command + r no es muy útil. Uno puede hacer una simple encuentra toda en el siguiente grep^[^\n]*function[^{]+{o alguna variante de que se ajuste a la lengua y la situación en la que está trabajando.

Una vez que usted la encontrará todo lo que se puede copiar y pegar el resultado para un nuevo documento y dependiendo del número de funciones no debería tomar mucho tiempo para poner en orden.

La respuesta está lejos de ser perfecta, especialmente en los casos en que los comentarios tienen la función de palabra (o es equivalente) en ellos, pero creo que es una respuesta útil.

Con una edición muy rápida, este es el resultado que obtuve en lo que estoy trabajando ahora.

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){}; 
4

Un plugin llamado Esquema está disponible en el paquete de control, probarlo! https://packagecontrol.io/packages/Outline

+1

Nota: Para salir de la vista de esquema, haga clic en el botón de cerrar en la pestaña Contorno, luego presione 'Shift' +' Alt' + '1' o ve a Ver -> Diseño -> Individual. Para abrirlo, use 'Ctrl' +' Shift' + 'P' y luego busque' Browse Mode: Outline' –

Cuestiones relacionadas