93

Comment obtenir une vue générale dans sublime text editor pour Windows?Comment avoir une vue d'ensemble dans sublted texteditor?

Le minicarte est utile, mais il me manque un plan traditionnel (une liste klickable de toutes les fonctions dans mon code dans l'ordre où ils apparaissent pour la navigation rapide et orientation)

Peut-être est un plug-in, addon ou similaire? Ce serait aussi bien si vous pouvez bientôt nommer les étapes nécessaires pour le faire fonctionner.

Il ya un duplicate of this question sur les sublimes forums de texte.

+0

J'ai ajouté un ** [demande de fonctionnalité] (http://sublimetext.userecho.com/topic/631908-/) ** pour SublimeText 3. N'hésitez pas à voter pour. –

Répondre

216

Hit CTRL +R ou CMD +R pour Mac, pour la liste des fonctions. Cela fonctionne dans Sublime Text 1.3 ou supérieur.

+0

Ça sonne bien. Mais rien ne se passe quand j'appuie sur ctrl-r. J'ai un fichier php ouvert.Puis-je localiser la commande dans un menu? Est-ce que cela fonctionne sans plugin? karlthorwald – user89021

+0

J'ai regardé, mais il n'y a pas de Ctrl-R dans le fichier de liaison de clé (sous les préférences). L'avez-vous là? Si oui, quelle est la "commmand" pour cela? – user89021

+6

Ctrl + r existe dans la version bêta actuelle (http://www.sublimetext.com/beta), mais pas dans 1.2 – jskinner

13

J'utilise le pli tout l'action. Je vais voir toutes les méthodes/fonctions, et ensuite développer celui qui m'intéresse.

+8

Depuis le menu ST 3: Edition-Code Pliage-Pliage Tout. Raccourci Ctrl + k, 1. Ctrl-k, j pour annuler – wolfstevent

7

Je regarde brièvement SublimeText 3 api et view.find_by_selector(selector) semble être capable de retourner une liste de régions.

Donc je suppose qu'un plugin qui afficherait le contour/la structure de votre fichier est possible.

Un plugin qui afficherait quelque chose comme ceci:

code outline

Note: le function name display plugin pourrait être utilisé comme une source d'inspiration pour extraire les noms de classe/méthodes ou ClassHierarchy pour extraire la structure de contour

0

Si vous souhaitez imprimer ou enregistrer le contour, la commande ctr/r + r n'est pas très utile. On peut faire un simple, trouver tous les sur les points suivants grep^[^\n]*function[^{]+{ou une variante de celui-ci en fonction de la langue et de la situation que vous travaillez.

Une fois que vous ne le trouvez tout ce que vous pouvez copier et coller le résultat à un nouveau document et en fonction du nombre de fonctions ne devrait pas prendre beaucoup de temps pour ranger.

La réponse est loin d'être parfaite, en particulier dans les cas où les commentaires ont le mot fonction (ou son équivalent) en eux, mais je pense que c'est une réponse utile.

Avec une édition très rapide, c'est le résultat que j'ai obtenu sur ce que je suis en train de faire.

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 nommé Outline est disponible dans le contrôle du paquet, essayez! https://packagecontrol.io/packages/Outline

+1

Remarque: Pour quitter la vue Structure, cliquez sur le petit bouton de fermeture dans l'onglet Plan, puis appuyez sur 'Maj' + 'Alt' + '1' ou aller à Affichage -> Mise en page -> Unique. Pour l'ouvrir, utilisez 'Ctrl' +' Shift' + 'P', puis recherchez' Browse Mode: Outline' –

Questions connexes