48 votes

Comment afficher les guides d'indentation dans Emacs?

J'essaie de passer à Emacs en tant que mon principal éditeur de code source. Il me manque vraiment une chose (commune dans les éditeurs même les plus simples) - les guides d'indentation (lignes verticales non intrusives indiquant le niveau d'indentation). Est-ce que Emacs est capable de les afficher?

89voto

antonj Points 5871

J'ai fait une fonction highlight-indentation à cette fin, le code est sur github.

Lors de l'invocation highlight-indentation sans préfixe argument de l'actuel niveau d'indentation est naïvement deviné de mode majeur (python, ruby et les langues basées sur cc-mode). Ne fonctionne que pour l'espace des indentations. Personnaliser highlight-indent-face afin de modifier l'apparence de l'indentation des lignes.

Exemples (ruby, python): Ruby, Python example

J'ai aussi souvent l'utilisation de cet extrait qui se plie tout le code sur un niveau de retrait supérieure à la ligne actuelle. C'est un excellent moyen d'obtenir un aperçu rapide du contour.

(defun aj-toggle-fold ()
  "Toggle fold all lines larger than indentation on current line"
  (interactive)
  (let ((col 1))
    (save-excursion
      (back-to-indentation)
      (setq col (+ 1 (current-column)))
      (set-selective-display
       (if selective-display nil (or col 1))))))
(global-set-key [(M C i)] 'aj-toggle-fold)

5voto

danielpoe Points 2858

à ma connaissance, personne n'a encore implémenté de guides d'indentation pour Emacs. La chose la plus proche que vous puissiez obtenir est la visualisation des onglets avec le paquet d’espaces, voir Afficher les onglets avec un caractère différent (Emacs) .

1voto

Fredrik Points 3

Supposons que vous puissiez adapter ColumnMarker à vos besoins, mais cela mettra en évidence une colonne ne vous donnant pas un seul pixel.

Je mets en retrait avec 8 espaces, donc je n’y ai jamais pensé; P

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