Перейти к сопоставлению скобки в Visual Studio?

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

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

1.10.2009 04:44:55
невероятно, но это не работает (2019) для файлов .js в Mac Visual Studio. WTH ?!
Fattie 17.09.2019 16:33:45
@ Толстяк, он не работает в Windows 10 для файлов .cs. Я довольно уверен, что это универсальная вещь для VS 2019, поэтому я задал новый вопрос: stackoverflow.com/q/59183422/1739000
NH. 4.12.2019 19:31:28
27 ОТВЕТОВ
РЕШЕНИЕ

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

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

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

726
26.08.2019 15:51:36
Просто для информации, на норвежской клавиатуре это сокращение Ctrl+ Å(аналогично датской клавиатуре, упомянутой в ответе ниже).
Julian 24.11.2010 09:37:36
Кроме того, в VS 2010 и на немецкой клавиатуре это Ctrl+ ´. Это апостроф прямо рядом с реверсом.
Kjellski 3.01.2012 13:28:36
На бельгийском азерте это, кажется, ctrl+ ^, что, как ни странно, на ключе, который также имеет [скобку (которую нужно AltGrнабрать).
Nyerguds 29.10.2012 10:29:57
используйте CTRL +] + SHIFT для выделения текста между ними
ygaradon 21.07.2013 02:42:35
на итальянской клавиатуре это CTRL + ì
Pisu 5.02.2014 13:32:59

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

110
1.10.2009 04:48:17

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

11
13.09.2015 06:00:44

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

10
13.09.2015 06:02:28

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

26
13.09.2015 06:04:25

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

8
19.07.2012 20:01:33
Это CTRL + đ по умолчанию
Marko Juvančič 28.08.2013 07:45:26

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

9
13.09.2015 06:05:42

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

17
6.06.2011 08:55:06

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

6
11.09.2011 18:06:45

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

Нажмите меню Сервис -> Параметры -> Среда -> Клавиатура . Тогда ищите Edit.GotoBrace .

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

105
13.09.2015 06:08:53
Это очень полезно для поиска сочетаний клавиш для других языков.
Afonso Matos 1.07.2016 12:32:12
Да, мы всегда должны отвечать на вопросы команд с помощью имени команды в случае, если клавиатура отличается или был удален ярлык по умолчанию. Также проверьте Edit.GotoBraceExtend, если вы сопоставляете Ctrl + [что-то] с Edit.GotoBrace, вы, вероятно, захотите сопоставить Ctrl + Shift + [что-то] с Edit.GotoBraceExtend.
hsandt 9.11.2018 17:19:12
Это было полезно для меня, потому что это не было установлено для меня в VS 2017.
Mmm 13.12.2018 23:54:28

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

12
13.09.2015 06:10:05
10 минут на обнаружение WTF было, как написано в меню опций VS2008. Спасибо!
Roman Rdgz 10.09.2012 11:29:50

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

20
15.11.2011 16:51:04

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

9
13.09.2015 06:10:31

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

6
2.02.2012 21:25:30
Да, полезно, и в текстовом поле «Отображаемое имя» шрифтов и цветов находится прямоугольник скобок.
Catto 7.10.2014 15:26:03
Если у вас темная тема, как у меня, голубой вместо желтого также сделает скобку более заметной.
Bora 8.04.2015 07:41:48

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

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

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

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

22
13.09.2015 06:12:40
Для файлов VB используйте CTRL+ SHIFT+ UP/DOWN(ссылка: stackoverflow.com/a/7895072/740639 )
Walter Stabosz 17.04.2018 02:05:26
@WalterStabosz Здесь не работает (VS2015 VB.NET).
Ivanzinho 3.09.2019 19:41:31

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

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

11
6.09.2012 14:41:50

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

9
17.09.2012 10:28:04

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

2
6.11.2012 08:42:34

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

2
29.08.2013 07:25:25

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

4
13.09.2015 06:14:28

И Ctrl+ Shift+ ]выделит весь текст.

11
13.09.2015 06:15:06

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

Вот ответ в виде макроса, который я построил, который делает это (переключение), включая go to focus:

Вот демо:

Введите описание изображения здесь

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

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
13.09.2015 06:18:10
Стандартное сопоставление <Control> +] для США работает и в HTML, и в CSS. Оба тега тоже подсвечиваются.
Paul Gorbas 9.09.2019 17:56:54

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

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

3
16.09.2016 13:34:15

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

3
19.04.2017 07:19:49
Работает так на моей французской клавиатуре!
Sylvain P. 18.01.2018 08:03:32
В Visual Studio 2019 Windows \ German я нашел это: [Cntrl] + [´] для работы
Mong Zhu 18.09.2019 16:45:23

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

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

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

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

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

5
29.06.2018 21:57:44

На использовании Mac command+ shift+ \.

Источник : комментарий к этому ответу: https://stackoverflow.com/a/37877082/3345085 . Протестировано в Visual Studio Code версии 1.10.2.

7
23.05.2017 12:26:38

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

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

И т.п.

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

5
14.04.2019 17:08:09