Lorsque mon code ne parvient pas à se compiler et me dit que je manque probablement une accolade fermée, y at-il un moyen facile de le trouver dans emacs?Comment puis-je trouver des accolades/parens manquantes ou incompatibles dans emacs?
Répondre
Pour des langages comme C, C++ et Java, la commande check-parens
vérifiera parens (()
), des supports ([]
) et accolades ({}
):
M-x check-parens <RET>
Le point se déplacera à un personnage de bracketing cela est inégalé, et la ligne d'état signalera le problème.
C'est une bonne idée d'utiliser ceci en conjonction avec show-paren-mode
comme d'autres l'ont dit.
Show Paren Mode mettra en évidence les mauvaises orthèses au fur et à mesure que vous les tapez. Je ne sais pas comment les trouver après le fait.
Si vous utilisez le code suivant dans vos .emacs, si vous êtes avant ou après un crochet, il mettra en évidence toute l'expression entre eux - peut vous aider à trouver des parenthèses incompatibles.
(show-paren-mode t)
(setq show-paren-style 'expression)
caractéristique vraiment agréable - merci à vous et à @robert de le signaler! –
Idem. belle fonctionnalité, merci de poster ceci. –
J'utilise le mode de package rainbow-delimiters exactement pour cette raison.
Mes paramètres:
(require 'rainbow-delimiters)
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
(set-face-attribute 'rainbow-delimiters-unmatched-face nil
:foreground "red"
:inherit 'error
:box t)
On pourrait être également intéressé s'il y a une sorte de M-x fix-parens. – aartist
bonne idée. J'ai posté la question ici: http://stackoverflow.com/questions/4328163/is-there-a-way-to-automate-fixing-mismatched-parens-in-emacs-mx-fix-parens –