Pregunta

¿Cómo obtengo una vista de esquema en editor de texto sublime ¿para ventanas?

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

¿Quizás hay un complemento, complemento o similar? También sería bueno si puede nombrar en breve qué pasos son necesarios para que funcione.

Hay un duplicado de esta pregunta En los foros de texto sublime.

¿Fue útil?

Solución

Pegar CONTROL+Riñonal, o CMD+Riñonal Para Mac, para la lista de funciones. Esto funciona en el texto sublime 1.3 o superior.

Otros consejos

Yo uso el plegable toda la acción. Minimizará todo a la declaración, puedo ver todos los métodos/funciones y luego expandir el que me interesa.

Un complemento llamado Esquema está disponible en el control del paquete, pruébalo!https://packagecontrol.io/packages/outline

Nota: No funciona en modo múltiple de filas/columnas. Para múltiples filas/columnas trabajo, use esta bifurcación:https://github.com/vlad-wonderkidstudio/sublimioutline

Miro brevemente Sublimeteexto 3 API y view.find_by_selector(selector) parece poder devolver una lista de regiones.

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

Un complemento que mostraría algo como esto:

code outline

Nota: la complemento de visualización de nombre de la función podría usarse como inspiración para extraer los nombres de clase/métodos o De clase Para extraer la estructura del esquema

Si desea poder imprimir o guardar el esquema, el CTR / Command + R no es muy útil. Uno puede hacer un simple encuentra todos en lo siguiente grep ^[^\n]*function[^{]+{ o alguna variante de esto se adapta al lenguaje y la situación en la que está trabajando.

Una vez que haga todo lo que puede copiar y pegar el resultado en un nuevo documento y, dependiendo de la cantidad de funciones, no debe tardar mucho en ordenar.

La respuesta está lejos de ser perfecta, particularmente para los casos en que los comentarios tienen la función de la 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){};
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top