Перейдите в Matching Brace в Visual Studio?

Есть ли способ в Visual Studio 2008 перейти от закрывающей скобки к открывающей скобке? Я нашел довольно много информации о выделении фигурной скобки, но ничего о перемещении курсора на нее.

(Версия этого вопроса для VB.NET: сочетание клавиш для перехода между "If/End If")

Ответ 1

Я нашел это для вас: Переход между фигурными скобками в Visual Studio:

Поместите курсор перед или после скобки (ваш выбор), а затем нажмите CTRL + ]. Работает с круглыми скобками(), скобками [] и фигурными скобками {}. Отныне тебе не нужно играть в Wheres Waldo? найти эту скобу.

В MacOS используйте CMD + SHIFT + \

Ответ 2

Используйте CTRL + ] для переключения между ними. Поместите курсор в одну из фигурных скобок при его использовании.

Ответ 3

Я использую Visual Studio 2008, и вы можете настроить то, что хотите, чтобы этот ярлык был.

Нажмите меню Сервис → Параметры → Среда → Клавиатура. Затем найдите Edit.GotoBrace.

Это покажет вам, какая именно комбинация клавиш назначена для этого. Я думаю, вы можете изменить это, если хотите, но это полезно, если Ctrl + ] не работает.

Ответ 4

Примечание. Он также работает для сопоставления #if/#elif/#endif. Каретка должна быть на #.

Ответ 5

Если по какой-то причине это НЕ работает для вас, что-то может испортить ваши привязки клавиатуры (для меня это не сработало). Вы можете повторно включить привязку достаточно легко, хотя, по крайней мере, я подумал:

Я пробовал эту процедуру:

  • Перейдите в меню Инструменты → Параметры → Среда → Клавиатура
  • Прокрутите страницу или выполните поиск команды Edit.GotoBrace
  • Назначьте требуемый ярлык (моя была пуста, поэтому я ввел CTRL    + ])
  • Обязательно нажмите кнопку "Назначить"

Я попробовал, и это все еще не сработало. Я перезапустил Visual Studio, и он все еще не работал - он ТОЛЬКО работал для файлов .cs, но мне нужно, чтобы он работал на .vb файлы и текстовые файлы, и... ну ВСЕ файлы!

Ответ 6

На моей французской клавиатуре это CTRL + ^.

Ответ 7

На немецкой клавиатуре это Ctrl + ´.

Ответ 8

На испанской клавиатуре это CTRL + ¿ (или CTRL + ¡).

Ответ 9

На моей датской клавиатуре это CTRL + Å.

Ответ 10

На моей португальской клавиатуре и SO с EN VS, CTRL + «, чтобы перейти к соответствующей скобке и CTRL + SHIFT + «, если вы собираетесь выбрать внутренний код.

Ответ 11

Для полноты, на шведской клавиатуре это CTRL + å .

Кроме того, я думаю, логично, но стоит упомянуть CTRL + shift + å (для капитала Å), выбирает все внутри фигурных скобок и переходит к соответствующему.

Ответ 12

И Ctrl + Shift + ] выберет весь текст.

Ответ 13

На моей pt-BR (бразильской португальской) клавиатуре это фактически CTRL + [.

Ответ 14

На турецкой клавиатуре это Ctrl + ü.

Ответ 15

На моей итальянской клавиатуре это CTRL + ^.

Ответ 16

На моей словенской клавиатуре это ALT    + Đ

Ответ 17

На Mac используйте command + shift + \.

Источник: комментарий к этому ответу: fooobar.com/questions/15560/.... Протестировано в Visual Studio Code версии 1.10.2.

Ответ 18

На моей голландской (бельгийской) клавиатуре это CTRL + ^.

Ответ 19

Откройте Инструменты > Параметры > Окружающая средa > Шрифты и цвета, выберите "Согласование скобок (Прямоугольник)" и измените "Фон элемента", например, Желтый. Это работало для круглых скобок С#() {} и [].

Ответ 20

Для кода Visual Studio (как видно из их документации) используйте Ctrl + Shift + \.

Настройки можно найти в:

Файл/Настройки/Сочетание клавиш

Я использую Visual Studio Code 1.8.0. Примечание. Код Visual Studio может работать по-разному для международных клавиатур (как видно из этого ответа на немецком языке)

Надеюсь, это кому-нибудь поможет.

Ответ 21

Немного релевантно, но для HTML-тегов: (поскольку нет встроенного решения, Ctrl + J не работает для HTML-тегов:)

Вот ответ как макрос, который я построил, который его выполняет (переключает), в том числе в фокус:

Вот демо:

Enter image description here

И вот код. Наслаждайтесь!

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

Ответ 22

Подробности, которые могут принести пользу всем (Linux/Win/Mac)

Команда в меню/редакторе сочетаний клавиш - это editor.action.jumpToBracket где вы можете установить все, что захотите. Существует также editor.action.selectToBracket именем editor.action.selectToBracket который по умолчанию не имеет ярлыка (по крайней мере, на Mac).

И т.п.

На Mac editor.action.jumpToBracket начинается с Cmd + Shift + \, и я изменил его на Ctrl + ], чтобы соответствовать тому, что здесь говорят другие. Я сделал это в надежде, что смогу использовать Ctrl + Shift + ] для "Расширения выделения до соответствующей скобки". Это то, что привело меня к раскрытию деталей выше. Я установил editor.action.selectToBracket в Ctrl + Shift + ] и получил именно то поведение, которое я хотел.

Ответ 23

На венгерской клавиатуре это Ctrl + ú.

Ответ 24

В коде Visual Studio на немецкой клавиатуре это ctrl + shift + ^

Но вам нужно открыть файл с правильным расширением - он, например, не работает в новых несохраненных файлах.

Ответ 25

На немецкой клавиатуре это ctrl + shift + ^.

Ответ 26

На швейцарско-французской клавиатуре: используйте CTRL + SHIFT + ^

Ответ 27

На испанской (Испания) клавиатуре с VS2012 есть Ctrl + ¡, как указано @Keith, но если вы используете Ctrl + ¿ (набирается как Ctrl + Shift + ¡) затем переходит к Matching Brace plus, который выбирает весь код в двух фигурных скобках, а затем вы не можете перейти к другой скобе.