Visual Studio 2008で、閉じ中括弧から開き中括弧に移動する方法はありますか?ブレースを強調表示することについてはかなりの量を見つけましたが、カーソルをブレースに移動することについては何もありません。
(この質問のVB.NETバージョン:「If / EndIf」間をジャンプするためのキーボードショートカット)
Visual Studio 2008で、閉じ中括弧から開き中括弧に移動する方法はありますか?ブレースを強調表示することについてはかなりの量を見つけましたが、カーソルをブレースに移動することについては何もありません。
(この質問のVB.NETバージョン:「If / EndIf」間をジャンプするためのキーボードショートカット)
私はあなたのためにこれを見つけました:VisualStudioの中括弧の間をジャンプしてください:
ブレース(選択)の前後にカーソルを置き、CTRL+を押し]ます。括弧()、角かっこ[]、中かっこ{}で機能します。これからは、Where's Waldoをプレイする必要はありませんか?そのブレースを見つけるために。
上記のショートカットを使用して、長押しSHIFTして選択することもできます。
MacOSでは、CMD++を使用しSHIFTます\ 。
私はVisual Studio 2008を使用していますが、このショートカットをカスタマイズできます。
メニューツール->オプション->環境->キーボードをクリックします。次に、Edit.GotoBraceを探します。
これにより、現在割り当てられているキーの組み合わせがわかります。必要に応じてこれを変更できると思いますが、Ctrl+]が機能しない場合に便利です。
CTRL+を使用]してそれらを切り替えます。使用するときは、中括弧の1つにカーソルを置きます。
注: #if / #elif / #endif マッチングでも機能します。キャレットは上にある必要があります#。
何らかの理由でこれが機能しない場合は、キーボードのバインドが台無しになっている可能性があります(私には機能しませんでした)。ただし、バインディングを簡単に再度有効にすることはできます。少なくとも、次のように考えました。
私はこの手順を試しました:
試してみましたが、まだうまくいきませんでした。Visual Studioを再起動しましたが、それでも機能しませんでした。.csファイルでのみ機能しましたが、.vbファイルとテキストファイル、および...すべてのファイルで機能する必要があります。
私のフランス語キーボードではCTRL+^です。
ドイツ語キーボードではCtrl+´です。
スペイン語キーボードではCTRL+ ¿(またはCTRL+ ¡) です。
私のデンマーク語キーボードではCTRL+Åです。
+ Ctrl+はすべてのテキストを選択しますShift。]
トルコ語のキーボードでは、Ctrl+üです。
私のポルトガル語キーボードと EN VS の SO では、対応するブレースに移動するのはCTRL+であり、内側のコードを選択する場合は+ +です。«CTRLSHIFT«
私のpt-BR (ブラジル ポルトガル語) キーボードでは、実際にはCTRL+[です。
私のイタリア語キーボードではCTRL+^です。
私のスロベニア語キーボードではALT +Đ
[ツール] > [オプション] > [環境] > [フォントと色] に移動し、[ブレース マッチング (長方形)] を選択し、[アイテムの背景] を黄色などに変更します。これは、C# の括弧 () {} および [] で機能しました。
私のオランダ語 (ベルギー) キーボードではCTRL+^です。
少し関連性がありますが、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
ドイツ語キーボードのVisual Studio Codeではctrl+ shift+^
ただし、正しい拡張子のファイルを開く必要があります。たとえば、保存されていない新しいファイルでは機能しません。
スイスフランス語キーボード: CTRL+ SHIFT+を使用^
VS2012 のスペイン語 (スペイン) キーボードでは、@Keith が述べたように + ですが、 + ( + + として入力) を使用するCtrlと、マッチングブレースに移動し、2 つのブレース内のすべてのコードが選択され、再び他のブレース。¡Ctrl¿CtrlShift¡