2010-11-30 14 views
26

Cuando mi código no se puede compilar y me dice que es probable que me falta un corsé cerrado, ¿hay alguna manera fácil de encontrarlo en emacs?¿Cómo puedo encontrar llaves/paréntesis faltantes o no coincidentes en emacs?

+2

También estaría interesado si existe algún tipo de M-x fix-parens. – aartist

+0

buena idea. Publiqué la pregunta aquí: http://stackoverflow.com/questions/4328163/is-there-a-way-to-automate-fixing-mismatched-parens-in-emacs-mx-fix-parens –

Respuesta

29

Para lenguajes como C, C++ y Java, el comando check-parens comprobará parens (()), soportes ([]) y llaves ({}):

M-x check-parens <RET> 

El punto se moverá a un personaje de horquillado eso no tiene comparación, y la línea de estado informará el problema.

Es una buena idea usar esto junto con show-paren-mode como han dicho otros.

4

Show Paren Mode resaltará las llaves malas mientras las escribe. No sé cómo encontrarlos después del hecho.

11

Si usa el siguiente código en sus archivos .emacs, entonces, si está antes o después de un corchete, resaltará toda la expresión entre ellos, lo que podría ayudarlo a encontrar corchetes que no coinciden.

(show-paren-mode t) 
(setq show-paren-style 'expression) 
+1

realmente buena característica - ¡Gracias a ti y @robert por señalar esto! –

+1

Ídem. buena característica, gracias por publicar esto. –

0

Utilizo el modo de paquete rainbow-delimiters exactamente por ese motivo.

Mi configuración:

(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) 
Cuestiones relacionadas