Ir a Matching Brace en Visual Studio?

¿Hay alguna manera en Visual Studio 2008 de pasar de un corsé de cierre a su corsé de apertura? He encontrado una buena cantidad de material sobre cómo resaltar el corsé, pero nada acerca de mover el cursor hacia él.

(Versión de VB.NET de esta pregunta: atajo de teclado para saltar entre “If / End If” )

Encontré esto para ti: salta entre llaves en Visual Studio

Coloque el cursor antes o después del corsé (su elección) y luego presione CTRL + ] . Funciona con llaves redondas o rizadas. A partir de ahora no necesitas jugar ¿Dónde está Waldo? para encontrar ese corsé.

Use CTRL + ] para alternar entre ellos. Coloque el cursor en una de las llaves al usarlo.

Utilizo Visual Studio 2008 , y puede personalizar lo que quiere que sea este atajo.

Haga clic en Herramientas -> Opciones -> Entorno -> Teclado . Luego busca Edit.GotoBrace .

Esto le dirá qué combinación de teclas está asignada actualmente para esto. Creo que puedes cambiar esto si quieres, pero es útil si Ctrl + ] no funciona.

Nota: También funciona para coincidencias #if / #elif / #endif. El cursor debe estar en el # .

Si por alguna razón esto NO funciona para ti, es posible que algo haya arruinado tus enlaces de teclado (no funcionó para mí). Sin embargo, puedes volver a habilitar el encuadernado de forma sencilla, al menos así que pensé:

Intenté este procedimiento:

  • Ir al menú Herramientas -> Opciones -> Entorno -> Teclado
  • Desplázate o busca el comando Edit.GotoBrace
  • Asignar el atajo deseado (el mío estaba vacío, así que puse CTRL + ] )
  • Asegúrese de hacer clic en “Asignar botón”

Lo intenté, y todavía no funcionó. Reinicié Visual Studio, y todavía no funcionó. Bueno, SOLO funcionó para archivos .cs, pero necesito que funcione para archivos .vb y archivos de texto, y … ¡TODOS los archivos!

En mi teclado francés, es CTRL + ^ .

En un teclado alemán, es Ctrl + ' .

En un teclado español es CTRL + ¿ (o CTRL + ¡ ).

En mi teclado danés es CTRL + Å .

En mi teclado portugués y SO con EN VS, es CTRL + « para navegar al par de llaves y CTRL + MAYÚS + « si tiene la intención de seleccionar el código interno.

En un teclado turco, es Ctrl + ü .

Para completar, en un teclado sueco es CTRL + å .

Además, supongo que es lógico, pero vale la pena mencionar CTRL + shift + å (para mayúscula Å), selecciona todo dentro de las llaves y va al que coincida.

En mi teclado italiano, es CTRL + ^ .

En mi teclado pt-BR (portugués brasileño), en realidad es CTRL + [ .

Y Ctrl + Shift + ] seleccionará todo el texto.

En mi teclado esloveno es ALT + Đ

En mi teclado holandés (belga), es CTRL + ^ .

Vaya a Herramientas> Opciones> Entorno> Fuentes y colores, seleccione “Coincidencia de refuerzos (rectángulo)” y cambie el “Fondo del elemento” a, por ejemplo, Amarillo. Esto funcionó para C # entre paréntesis () {} y [].

En un teclado húngaro, es Ctrl + ú .

Un poco relevante, pero para las tags HTML: (dado que no hay una solución incorporada, Ctrl + J no funciona para las tags HTML)

Aquí está la respuesta como una macro que he creado, que lo hace (alternar), incluido ir a foco:

Aquí está la demostración:

Ingrese la descripción de la imagen aquí

Y aquí está el código. ¡Disfrutar!

 Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE90a Imports EnvDTE100 Imports System.Diagnostics Imports System.Windows.Forms Public Module Module2 Sub beginToEnd() 'Place the cursor somewhere in the beginning tag, run the macro, to select from beginning to end tag DTE.ActiveDocument.Selection.SelectLine() Dim objSel As TextSelection = DTE.ActiveDocument.Selection Dim topPoint As TextPoint = objSel.TopPoint Dim lTopLine As Long = topPoint.Line objSel.GotoLine(lTopLine, False) ' DTE.ActiveDocument.Selection.StartOfLine() DTE.ActiveDocument.Selection.SelectLine() Dim line1 As String = DTE.ActiveDocument.Selection.Text() If InStr(line1, "/") Then ' MsgBox(line1) DTE.ExecuteCommand("Edit.ToggleOutliningExpansion") DTE.ActiveDocument.Selection.EndOfLine() DTE.ActiveDocument.Selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText, True) objSel.GotoLine(lTopLine, False) DTE.ExecuteCommand("Edit.ToggleOutliningExpansion") DTE.ExecuteCommand("Edit.ToggleOutliningExpansion") Else DTE.ExecuteCommand("Edit.ToggleOutliningExpansion") DTE.ActiveDocument.Selection.EndOfLine(False) DTE.ExecuteCommand("Edit.ToggleOutliningExpansion") End If DTE.ActiveDocument.Selection.SelectLine() Dim line2 As String = DTE.ActiveDocument.Selection.Text() Dim objSel3 As TextSelection = DTE.ActiveDocument.Selection Dim topPoint3 As TextPoint = objSel3.TopPoint Dim lTopLine3 As Long = topPoint3.Line objSel.GotoLine(lTopLine3, False) DTE.ActiveDocument.Selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText, False) End Sub End Module 

En un teclado alemán es ctrl + shift + ^ .

En el teclado suizo-francés: use CTRL + MAYÚS + ^

En Español (España) el teclado con VS2012 es Ctrl + ¡ como lo indica @Keith, pero si usa Ctrl + ¿ (escrito como Ctrl + Shift + ¡ ) entonces va a Matching Brace plus selecciona todo el código dentro de los dos llaves y luego no puede ir otra vez al otro corsé.

En Visual Studio Code en el teclado alemán es ctrl + shift + ^

Pero debe abrir un archivo con la extensión correcta; por ejemplo, no está funcionando en archivos nuevos no guardados.

En una Mac use el comando + shift + \ .

Fuente : un comentario sobre esta respuesta: https://stackoverflow.com/a/37877082/3345085 . Probado en Visual Studio Code versión 1.10.2.

Para Visual Studio Code (como se ve en su documentación ), use Ctrl + Shift + \ .

La configuración se puede encontrar en:

Archivo / Preferencias / Atajo de teclado

Estoy usando Visual Studio Code 1.8.0. Nota: Visual Studio Code puede comportarse de manera diferente para teclados internacionales (como se ve en esta respuesta a: teclado alemán )

Espero que esto ayude a alguien.