web-dev-qa-db-fra.com

Accédez à Brace correspondante dans Visual Studio?

Existe-t-il un moyen dans Visual Studio 2008 d’aller d’une accolade fermante à l’accolade ouvrante? J'ai trouvé pas mal de choses sur la mise en évidence de l'accolade, mais rien sur le déplacement du curseur.

(Version VB.NET de cette question: raccourci clavier pour basculer entre "If/End If" )

516
thepocketwade

J'ai trouvé ceci pour vous: Sauter entre accolades dans Visual Studio :

Placez votre curseur avant ou après l’accolade (votre choix), puis appuyez sur CTRL + ]. Cela fonctionne avec les parenthèses (), les crochets [] et les accolades {}. A partir de maintenant, vous n’avez plus besoin de jouer à Where’s Waldo? pour trouver cette attelle.

Sous MacOS, utilisez CMD + SHIFT + \

695
Tim Santeford

Utilisation CTRL + ] pour basculer entre eux. Placez le curseur sur l’un des accolades lors de son utilisation.

108
Ahmad Mageed

J'utilise Visual Studio 2008 , et vous pouvez personnaliser le raccourci que vous souhaitez.

Cliquez sur le menu Outils -> Options -> Environnement -> Clavier . Ensuite, recherchez Edit.GotoBrace .

Cela vous indiquera quelle combinaison de touches est actuellement attribuée pour cela. Je pense vous pouvez changer cela si vous voulez, mais c'est utile si le Ctrl + ] ne fonctionne pas.

102
funkymushroom

Remarque: cela fonctionne également pour la correspondance #if/#Elif/#endif. Le curseur doit être sur le #.

26
Pierre

Si, pour une raison quelconque, cela ne fonctionne PAS pour vous, il est possible que quelque chose ait gâché les liaisons de votre clavier (cela n'a pas fonctionné pour moi). Vous pouvez réactiver la liaison assez facilement cependant - du moins, je pensais:

J'ai essayé cette procédure:

  • Aller au menu Outils -> Options -> Environnement -> Clavier
  • Faites défiler ou recherchez la commande Edit.GotoBrace
  • Attribuez le raccourci souhaité (le mien était vide, alors j’ai mis CTRL    + ])
  • Assurez-vous de cliquer sur le bouton "Assign"

J'ai essayé et cela n'a toujours pas fonctionné. J'ai redémarré Visual Studio et cela ne fonctionnait toujours pas. Cela ne fonctionnait UNIQUEMENT que pour les fichiers .cs, mais il faut que je le fasse pour les fichiers .vb et les fichiers texte. Et bien, TOUS les fichiers!

19
Paul Gorbas

Sur mon clavier français, c'est CTRL + ^.

18
Matthieu Rouget

Sur un clavier allemand c'est Ctrl + ´.

17
Baldewin

Sur un clavier espagnol c'est CTRL + ¿ (ou CTRL + ¡).

12
Keith

Sur mon clavier danois c'est CTRL + Å.

11
Raymond

Sur mon clavier portugais et SO avec EN VS, c’est CTRL + « pour accéder à l'accolade correspondante et CTRL + SHIFT + « si vous avez l'intention de sélectionner le code interne.

10
Rodrigo

Et Ctrl + Shift + ] sélectionnera tout le texte.

10
JCS in Tampa

Par souci d’exhaustivité, sur un clavier suédois, c’est CTRL + å .

Aussi, je suppose logique, mais mérite d'être mentionné CTRL + shift + å (pour le capital Å), sélectionne tout ce qui se trouve à l'intérieur des accolades et va à celui qui correspond.

10
Ola Karlsson

Sur mon clavier pt-BR (portugais brésilien), il est en fait CTRL + [.

9
karlphillip

Sur mon clavier italien, c'est CTRL + ^.

9
Peppe

Sur un clavier turc, c'est Ctrl + ü.

9
Turkdogan Tasdelen

Sur mon clavier slovène c'est ALT    + Đ

8
skz

Sur un Mac command+shift+\.

Source : un commentaire sur cette réponse: https://stackoverflow.com/a/37877082/3345085 . Testé dans Visual Studio Code version 1.10.2.

7
Logan

Allez à Outils> Options> Environnement> Polices et couleurs, sélectionnez "Correspondance entre accolades (Rectangle)" et remplacez "l'Arrière-plan de l'élément" par ex. Jaune. Cela a fonctionné pour les parenthèses C # () {} et [].

6
jasumon janardanan

Sur mon clavier néerlandais (belge), c'est CTRL + ^.

6
Ward Coessens

Pour Visual Studio Code (comme indiqué dans leur documentation ), utilisez Ctrl+Shift+\.

Le réglage peut être trouvé dans:

Fichier/Préférences/Raccourci clavier

J'utilise le code Visual Studio 1.8.0. Remarque Le code Visual Studio peut se comporter différemment pour les claviers internationaux (comme indiqué dans cette réponse concerne: clavier allemand )

J'espère que ça aide quelqu'un.

5
Claudiu Hardalau

Des détails qui peuvent profiter à tout le monde (Linux/Win/Mac)

La commande dans le menu/éditeur des raccourcis clavier est editor.action.jumpToBracket vous pouvez la régler comme bon vous semble. Il en existe aussi un appelé editor.action.selectToBracket qui n'a pas de raccourci par défaut (du moins sur Mac).

Etc.

Sur le Mac, editor.action.jumpToBracket commence par Cmd+Shift+\ et je l'ai changé pour Ctrl+] être en ligne avec ce que d'autres disent ici. Je l'ai fait dans l'espoir de pouvoir utiliser Ctrl+Shift+] "Etendre la sélection au support correspondant". C'est ce qui m'a amené à découvrir les détails ci-dessus. Je règle editor.action.selectToBracket sur Ctrl+Shift+] et a eu exactement le comportement que je voulais.

4
Bruno Bronosky

Un peu pertinent, mais pour les balises HTML: (car il n’existe pas de solution intégrée, Ctrl + J ne fonctionne pas pour les balises HTML:)

Voici la réponse sous forme d'une macro que j'ai construite et qui le fait (bascule), y compris aller au focus:

Voici la démo:

Enter image description here

Et voici le code. Prendre plaisir!

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
4
Royi Namir

Dans Visual Studio Code sur le clavier allemand, c’est ctrl+shift+^

Mais vous devez ouvrir un fichier avec l'extension correcte - cela ne fonctionne pas dans les nouveaux fichiers non enregistrés, par exemple.

3
Shivan

Sur un clavier hongrois c'est Ctrl + ú.

3
Zéiksz

Sur un clavier allemand c'est ctrl+shift+^.

3
olippuner

Sur le clavier franco-suisse: utiliser CTRL + SHIFT + ^

2
Fabio Salvalai

En espagnol (Espagne), le clavier avec VS2012 est Ctrl + ¡ comme indiqué par @Keith mais si vous utilisez Ctrl + ¿ (tapé comme Ctrl + Shift + ¡) va ensuite à Matching Brace plus sélectionne tout le code entre les deux accolades et ensuite vous ne pourrez plus revenir à l’autre accolade.

2