122 votes

Comment obtenir une vue d'ensemble dans sublime texteditor ?

Comment obtenir une vue d'ensemble dans éditeur de texte sublime pour Windows ?

La mini-carte est utile mais il me manque un schéma traditionnel (une liste cliquable de toutes les fonctions de mon code dans l'ordre où elles apparaissent pour une navigation et une orientation rapides).

Peut-être existe-t-il un plugin, un addon ou autre ? Il serait également intéressant que vous puissiez indiquer brièvement les étapes nécessaires pour que cela fonctionne.

Il existe un duplication de cette question sur les forums du texte sublime.

1 votes

J'ai ajouté un demande de fonctionnalité pour SublimeText 3. N'hésitez pas à voter pour lui.

280voto

Cory Petosky Points 6520

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

0 votes

Ça sonne bien. Mais rien ne se passe lorsque j'appuie sur ctrl-r. J'ai un fichier php ouvert. Puis-je localiser la commande dans un menu ? Cela fonctionne-t-il sans plugin ? karlthorwald

0 votes

J'ai regardé, mais il n'y a pas de ctrl-r dans le fichier de liaison des touches (sous les préférences). L'avez-vous fait ? Si c'est le cas, quelle est la "commande" pour cela ?

6 votes

Ctrl+r existe dans la version bêta actuelle ( sublimetext.com/beta ), mais pas en 1.2

24voto

Elian Points 321

Un plugin nommé Grandes lignes est disponible dans le contrôle des paquets, essayez-le ! https://packagecontrol.io/packages/Outline

Note : il ne fonctionne pas en mode multi-lignes/colonnes. Pour le travail en mode multi-lignes/colonnes, utilisez cette fourche : https://github.com/vlad-wonderkidstudio/SublimeOutline

18voto

Enmanuel Rivera Points 29

J'utilise l'action "fold all". Cela réduit tout à la déclaration, je peux voir toutes les méthodes/fonctions, puis développer celle qui m'intéresse.

10 votes

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

9voto

Name is carl Points 644

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

Je suppose donc qu'un plugin qui afficherait le plan/structure de votre fichier est possible.

Un plugin qui afficherait quelque chose comme ceci :

code outline

Note : le site plugin d'affichage du nom de la fonction pourrait être utilisé comme une inspiration pour extraire les noms de classes/méthodes ou de Hiérarchie des classes pour extraire la structure du contour

0voto

Trevor Points 150

Si vous voulez pouvoir imprimer ou sauvegarder le contour, la combinaison ctr / command + r n'est pas très utile. On peut faire un simple trouver tous sur les points suivants grep ^[^\n]*function[^{]+{ ou une variante de l'adapter à la langue et à la situation dans laquelle vous travaillez.

Une fois que vous avez effectué la recherche, vous pouvez copier et coller le résultat dans un nouveau document et, selon le nombre de fonctions, cela ne devrait pas prendre beaucoup de temps à mettre en ordre.

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

Avec un montage très rapide, voici le résultat que j'ai obtenu sur ce sur quoi je travaille actuellement.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X