Visual Studioのマッチングブレースに移動しますか?


544

Visual Studio 2008で、右中括弧から左中括弧に移動する方法はありますか?ブレースの強調表示についてはかなりの量が見つかりましたが、カーソルをブレースに移動することについては何も見つかりませんでした。

(この質問のVB.NETバージョン:「If / End If」の間をジャンプするためのキーボードショートカット


1
信じられないことに、これはMac Visual Studioの.jsファイルでは機能しないようです(2019)。WTH?!
Fattie

@ Fattie、Windows 10では.csファイルでも機能しません。これはVS 2019の全体的な問題であると確信しているので、新しい質問をしました:stackoverflow.com/q/59183422/1739000
NH。

回答:


734

私はあなたのためにこれを見つけました:Visual Studioで中括弧の間をジャンプします:

中括弧(選択)の前または後にカーソルを置き、CTRL+ を押し]ます。かっこ()、角かっこ[]、中かっこ{}で機能します。これからはどこのウォーリーをプレイする必要はありませんか?そのブレースを見つける。

MacOSではCMD+ SHIFT+\


52
参考までに、ノルウェー語キーボードでは、このショートカットはCtrl+ですÅ(以下の回答に記載されているデンマーク語キーボードと同じです)。
ジュリアン、

55
さらに、VS 2010およびドイツ語のキーボードではCtrl+ ´です。バックスペースの隣にあるアポストロフィです。
Kjellski、2012年

11
ベルギーのazertyではctrl+ ^であるように見えますが、これは奇妙なことに、[ブラケットも持っているキー(AltGrタイプする必要があります)にあります。
Nyerguds 2012年

50
それらの間のテキストを選択するには、CTRL +] + SHIFTを使用します
ygaradon 2013

15
イタリア語のキーボードでCTRL + Iである
Pisu

110

CTRL+ ]を使用して、それらを切り替えます。使用するときは、中括弧のいずれかにカーソルを置きます。


107

私はVisual Studio 2008を使用しており、このショートカットを希望どおりにカスタマイズできます。

メニュー[ ツール ] -> [ オプション] -> [ 環境] -> [ キーボード ]をクリックします。次に、Edit.GotoBrace探します。

これにより、現在これに割り当てられているキーの組み合わせがわかります。必要に応じてこれを変更できると思いますが、Ctrl+ ]が機能しない場合に便利です。


3
これは、他の言語のキーボードのキーバインドを見つけるのに非常に役立ちます。
Afonso Matos

はい、キーボードが異なる場合やデフォルトのショートカットが削除されている場合に備えて、コマンドの質問には常にコマンド名で回答する必要があります。また、Edit.GotoBraceExtendも確認してください。Ctrl+ [何か]をEdit.GotoBraceにマッピングする場合は、Ctrl + Shift + [何か]をEdit.GotoBraceExtendにマッピングすることをお勧めします。
hsandt

1
それはVS 2017ですべての私のために設定されていなかったので、これは私のために有用であった
うーん

26

注:#if / #elif / #endifマッチングでも機能します。キャレットはになければなりません#


22

何らかの理由でこれが機能しない場合は、何かがキーボードのバインディングをめちゃくちゃにしている可能性があります(私にとっては機能しませんでした)。ただし、バインドを簡単に再度有効にできます。少なくとも、私はそう思いました。

私はこの手順を試しました:

  • メニューに移動しますツール -> オプション -> 環境 -> キーボード
  • スクロールするか、コマンドEdit.GotoBraceを検索します。
  • 希望のショートカットを割り当てます(私のものは空だったので、CTRL   + を入れました]
  • 必ず「割り当てボタン」をクリックしてください

私はそれを試しましたが、それでもうまくいきませんでした。Visual Studioを再起動しましたが、それでも機能しませんでした。.csファイルでのみ機能しましたが、.vbファイルおよびテキストファイルで機能する必要があります。


2
VBファイルの場合、CTRL+ SHIFT+を使用UP/DOWN(ref:stackoverflow.com/a/7895072/740639
Walter Stabosz

@WalterStaboszここでは機能しません(VS2015 VB.NET)。
Ivanzinho



12

スペイン語のキーボードではCTRL+ ¿(またはCTRL+ ¡)です。


2
VS2008オプションメニューに書かれているように、WTFを発見するのに10分かかりました。ありがとう!
Roman Rdgz 2012

11

完全を期すために、スウェーデン語のキーボードでは CTRL + å です。

また、私は論理的だと思いますが、言及する価値がある CTRL + shift+ å (大文字のÅの場合)は、中括弧内のすべてを選択し、一致する中括弧に移動します。




10

私のポルトガル語キーボードとEN VSのSOでは、対応する中括弧に移動するのはCTRL+で、内部コードを選択する場合は+ + です。«CTRLSHIFT«








6

[ツール]> [オプション]> [環境]> [フォントと色]に移動し、[ブレースマッチング(長方形)]を選択して、[アイテムの背景]を黄色などに変更します。これは、C#の括弧(){}および[]で機能しました。


はい。フォントと色の「表示名」テキストボックスには、ブレースマッチング四角形が配置されています。
Catto

あなたが私のように暗いテーマを持っている場合、黄色ではなくシアンもブラケット自体をより見やすくします。
Bora

5

Visual Studio Code(ドキュメントに記載さています)の場合は、Ctrl+ Shift+\

設定は次の場所にあります。

ファイル/設定/キーボードショートカット

Visual Studio Code 1.8.0を使用しています。注:Visual Studio Codeは、国際キーボードでは異なる動作をする可能性があります(この回答re:ドイツ語キーボードで見られるように)

これが誰かを助けることを願っています。


5

全員にメリットがある詳細(Linux / Win / Mac)

キーボードショートカットメニュー/エディタのコマンドがあり、editor.action.jumpToBracket好きなように設定できます。呼ばれるものもありますeditor.action.selectToBracketデフォルトではショートカットがない(少なくともMacでは)ものます。

等。

Macでは、最初editor.action.jumpToBracketCmd+ Shift+ として始まり、他の人がここで言うとおりになるように+ \ に変更しました。+ + を使用して「選択範囲を一致する角かっこに拡張する」ことができることを期待して、そうしました。それが私が上記の詳細を発見するきっかけになりました。私は+ + に設定し、希望どおりの動作を正確に取得しました。Ctrl]CtrlShift]editor.action.selectToBracketCtrlShift]



4

少し関連性がありますが、HTMLタグの場合:(組み込みのソリューションがないため、Ctrl+JがないためはHTMLタグでは機能しません:)

フォーカスに移動することを含め、私が作成したマクロ(トグル)としての答えは次のとおりです。

ここにデモがあります:

ここに画像の説明を入力してください

そして、これがコードです。楽しい!

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

<Control> +]の標準のUSマッピングは、HTMLおよびCSSでも機能します。両方のタグも強調表示されます。
Paul Gorbas

3

ドイツ語キーボードのVisual Studio Codeではctrl+ shift+^

ただし、正しい拡張子のファイルを開く必要があります-たとえば、保存されていない新しいファイルでは機能しません。


3

ドイツ語のキーボードではctrl+ shift+ ^です。


1
私のフランス語キーボードでこのように動作します!
Sylvain P.

Visual Studio 2019 Windows \ Germanでこれを見つけました:[Cntrl] + [´] to work
Mong Zhu


2

@Keithによると、VS2012のスペイン語(スペイン)キーボードはCtrl+ ¡ですが、Ctrl+ ¿Ctrl+ Shift+と入力)を使用する¡と、Matching Brace plusに移動し、2つの中括弧内のすべてのコードが選択されます。他のブレース。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.