Ir a Brace a juego en Visual Studio?


544

¿Hay alguna forma en Visual Studio 2008 de pasar de una llave de cierre a su llave de apertura? He encontrado una buena cantidad de cosas sobre resaltar la llave, pero nada sobre mover el cursor hacia ella.

(Versión VB.NET de esta pregunta: método abreviado de teclado para saltar entre "If / End If" )


1
Increíblemente, esto parece no funcionar (2019) para archivos .js en Mac Visual Studio. WTH?
Fattie

@Fattie, tampoco funciona en Windows 10 para archivos .cs. Estoy bastante seguro de que esto es algo general para VS 2019, así que hice una nueva pregunta: stackoverflow.com/q/59183422/1739000
NH.

Respuestas:


734

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

Coloque el cursor antes o después de la llave (su elección) y luego presione CTRL+ ]. Funciona con paréntesis (), corchetes [] y llaves {}. De ahora en adelante no necesitas jugar ¿Dónde está Waldo? para encontrar ese aparato ortopédico.

En MacOS, use CMD+ SHIFT+\


52
Solo para información, en un teclado noruego, el atajo para esto es Ctrl+ Å(igual que para el teclado danés mencionado en una respuesta a continuación).
Julian

55
Además, en VS 2010 y en un teclado alemán es Ctrl+ ´. Es el apóstrofo justo al lado del retroceso.
Kjellski

11
En la azertía belga parece ser ctrl+ ^, que es, curiosamente, en la tecla que también tiene el [corchete (que debe AltGrescribirse).
Nyerguds

50
use CTRL +] + MAYÚS para seleccionar el texto entre ellos
ygaradon

15
en el teclado italiano es CTRL + ì
Pisu

110

Use CTRL+ ]para cambiar entre ellos. Coloque el cursor en una de las llaves cuando lo use.


107

Uso Visual Studio 2008 , y puedes personalizar lo que quieres que sea este acceso directo.

Haga clic en el menú Herramientas -> Opciones -> Entorno -> Teclado . Luego busque Edit.GotoBrace .

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


3
Esto es muy útil para encontrar combinaciones de teclas para teclados de otros idiomas.
Afonso Matos

Sí, siempre debemos responder a las preguntas de comando con el nombre del comando en caso de que el teclado sea diferente o se haya eliminado el acceso directo predeterminado. También revise Edit.GotoBraceExtend, si asigna Ctrl + [algo] a Edit.GotoBrace, probablemente desee asignar Ctrl + Shift + [algo] a Edit.GotoBraceExtend.
hsandt

1
Esto fue útil para mí porque no estaba configurado para mí en VS 2017.
Mmm

26

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


22

Si por alguna razón esto NO funciona para usted, es posible que algo haya dañado sus enlaces de teclado (no funcionó para mí). Sin embargo, puede volver a habilitar el enlace con bastante facilidad, al menos así lo pensé:

Intenté este procedimiento:

  • Vaya al menú Herramientas -> Opciones -> Entorno -> Teclado
  • Desplázate o busca el comando Editar.GotoBrace
  • Asigne el acceso directo deseado (el mío estaba vacío, así que puse CTRL   + ])
  • Asegúrese de hacer clic en el botón "Asignar"

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 ... bueno, ¡TODOS los archivos!


2
Para archivos VB, use CTRL+ SHIFT+ UP/DOWN(ref: stackoverflow.com/a/7895072/740639 )
Walter Stabosz

@WalterStabosz No funciona aquí (VS2015 VB.NET).
Ivanzinho



12

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


2
10 minutos para descubrir WTF fue ¡, como está escrito en el menú de opciones VS2008. ¡Gracias!
Roman Rdgz

11

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 corresponde.




10

En mi teclado portugués y SO con EN VS, es CTRL+ «navegar hasta la llave correspondiente y CTRL+ SHIFT+ «si tiene la intención de seleccionar el código interno.








6

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


Sí útil y el cuadro de texto 'Nombre para mostrar' de Fuentes y colores es donde se encuentra el Rectángulo de coincidencia de llaves.
Catto

Si tiene el tema oscuro como yo, el cian en lugar del amarillo también hará que el soporte sea más visible.
Bora

5

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 re: teclado alemán )

Espero que esto ayude a alguien.


5

Detalles que pueden beneficiar a todos (Linux / Win / Mac)

El comando en el menú / editor de atajos de teclado está editor.action.jumpToBracketahí, puede configurarlo como desee. También hay uno llamado editor.action.selectToBracketque no tiene acceso directo por defecto (al menos en Mac).

Etc.

En Mac editor.action.jumpToBracketcomienza como Cmd+ Shift+ \ y lo cambié a Ctrl+ ]para estar en línea con lo que otros dicen aquí. Lo hice con la esperanza de poder usar Ctrl+ Shift+ ]para "Ampliar la selección al corchete correspondiente". Eso es lo que me llevó a descubrir los detalles anteriores. Me puse editor.action.selectToBracketa Ctrl+ Shift+ ]y obtuve exactamente el comportamiento que quería.



4

Un poco relevante, pero para las etiquetas HTML: (dado que no hay una solución integrada, Ctrl+ Jno funciona para las etiquetas HTML:)

Aquí está la respuesta como una macro que he construido 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

La asignación estándar estadounidense de <Control> +] también funciona para mí en HTML y CSS. Ambas etiquetas se resaltan también.
Paul Gorbas el

3

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 funciona en archivos nuevos no guardados.


3

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


1
¡Funciona así en mi teclado francés!
Sylvain P.

En Visual Studio 2019 Windows \ German encontré esto: [Cntrl] + [´] para trabajar
Mong Zhu


2

En español (España), el teclado con VS2012 es Ctrl+ ¡según lo indicado por @Keith, pero si usa Ctrl+ ¿(escrito como Ctrl+ Shift+ ¡), luego va a Correspondencia coincidente y selecciona todo el código dentro de las dos llaves y luego no puede volver a otro aparato ortopédico

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.