Pergi ke Matching Brace di Visual Studio?

544

Apakah ada cara di Visual Studio 2008 untuk beralih dari kurung kurawal ke kurung buka? Saya telah menemukan cukup banyak hal tentang menyorot penjepit, tetapi tidak ada yang memindahkan kursor ke sana.

(VB.NET versi Pertanyaan ini: Pintasan keyboard untuk Melompat di antara "If / End If" )

pisau pendakian
sumber
1
hebatnya, ini sepertinya tidak berfungsi (2019) untuk file .js pada Mac Visual Studio. APA ?!
Fattie
@ Fat, Tidak berfungsi di Windows 10 untuk file .cs. Saya cukup yakin ini adalah hal yang menyeluruh untuk VS 2019 jadi saya membuat pertanyaan baru: stackoverflow.com/q/59183422/1739000
NH.

Jawaban:

734

Saya menemukan ini untuk Anda: Lompat di antara kawat gigi di Visual Studio :

Letakkan kursor Anda sebelum atau setelah penjepit (pilihan Anda) dan kemudian tekan CTRL+ ]. Ia bekerja dengan tanda kurung (), tanda kurung [] dan tanda kurung {}. Mulai sekarang Anda tidak perlu bermain Where's Waldo? untuk menemukan penjepit itu.

Di MacOS, gunakan CMD+ SHIFT+\

Tim Santeford
sumber
52
Sekedar informasi, pada keyboard Norwegia pintasan untuk ini adalah Ctrl+ Å(sama dengan untuk keyboard Denmark yang disebutkan dalam jawaban di bawah).
Julian
55
Selain itu, dalam VS 2010 dan pada keyboard Jerman itu Ctrl+ ´. Itu adalah apostrof tepat di sebelah backspace.
Kjellski
11
Pada azerty Belgia tampaknya ctrl+ ^, yang, anehnya, pada kunci yang juga memiliki [braket (yang perlu AltGrdiketik).
Nyerguds
50
gunakan CTRL +] + SHIFT untuk memilih teks di antara mereka
ygaradon
15
dalam keyboard Italia adalah CTRL + ì
Pisu
110

Gunakan CTRL+ ]untuk beralih di antara mereka. Tempatkan kursor di salah satu kawat gigi saat menggunakannya.

Ahmad Mageed
sumber
107

Saya menggunakan Visual Studio 2008 , dan Anda bisa menyesuaikan apa yang Anda inginkan pintasan ini.

Klik menu Tools -> Options -> Environment -> Keyboard . Kemudian cari Edit.GotoBrace .

Ini akan memberi tahu Anda apa kombinasi tombol saat ini ditugaskan untuk ini. Saya pikir Anda dapat mengubah ini jika Anda mau, tetapi berguna jika Ctrl+ ]tidak berfungsi.

funkymushroom
sumber
3
Ini sangat berguna untuk menemukan ikatan kunci untuk keyboard bahasa lain.
Afonso Matos
Ya, kita harus selalu menanggapi pertanyaan perintah dengan nama perintah jika keyboard berbeda atau pintasan default telah dihapus. Periksa juga Edit.GotoBraceExtend, jika Anda memetakan Ctrl + [sesuatu] untuk Edit.GotoBrace, Anda mungkin ingin memetakan Ctrl + Shift + [sesuatu] untuk Edit.GotoBraceExtend.
hsandt
1
Ini berguna bagi saya karena itu tidak diatur untuk saya sama sekali di VS 2017.
Mmm
26

Catatan: Ini juga berfungsi untuk pencocokan #if / #elif / #endif. Tanda sisipan harus berada di #.

Pierre
sumber
22

Jika karena alasan tertentu ini TIDAK bekerja untuk Anda, sesuatu mungkin telah mengacaukan binding keyboard Anda (itu tidak berfungsi untuk saya). Anda dapat mengaktifkan kembali pengikatan dengan cukup mudah - setidaknya demikian saya pikir:

Saya mencoba prosedur ini:

  • Buka menu Alat -> Opsi -> Lingkungan -> Keyboard
  • Gulir ke, atau cari perintah Edit.GotoBrace
  • Tetapkan pintasan yang diinginkan (milik saya kosong, jadi saya masukkan CTRL   + ])
  • Pastikan untuk mengklik "Tetapkan Tombol"

Saya mencobanya, dan itu masih tidak berhasil. Saya me-restart Visual Studio, dan itu masih tidak berfungsi - baik itu HANYA berfungsi untuk file .cs, tapi saya membutuhkannya untuk bekerja untuk file .vb dan file teks, dan ... well SEMUA file!

Paul Gorbas
sumber
2
Untuk file VB, gunakan CTRL+ SHIFT+ UP/DOWN(ref: stackoverflow.com/a/7895072/740639 )
Walter Stabosz
@WalterStabosz Tidak berfungsi di sini (VS2015 VB.NET).
Ivanzinho
20

Di keyboard Prancis saya, itu CTRL+ ^.

Matthieu Rouget
sumber
17

Pada keyboard Jerman itu Ctrl+ ´.

Baldewin
sumber
12

Pada keyboard Spanyol itu adalah CTRL+ ¿(atau CTRL+ ¡).

Keith
sumber
2
10 menit untuk menemukan WTF adalah ¡, seperti yang ditulis dalam menu opsi VS2008. Terima kasih!
Roman Rdgz
11

Demi kelengkapan, pada keyboard Swedia itu CTRL + å .

Juga, saya kira logis, tetapi layak disebut CTRL + shift+ å (untuk huruf kapital Å), memilih segala sesuatu di dalam kawat gigi dan pergi ke yang cocok.

Ola Karlsson
sumber
11

Di keyboard Denmark saya itu CTRL+ Å.

Raymond
sumber
11

Dan Ctrl+ Shift+ ]akan memilih semua teks.

JCS di Tampa
sumber
10

Pada keyboard Portugis saya dan SO dengan EN VS, itu CTRL+ «untuk menavigasi ke penjepit yang cocok dan CTRL+ SHIFT+ «jika Anda berniat untuk memilih kode bagian dalam.

Peter Mortensen
sumber
9

Di keyboard Italia saya, itu CTRL+ ^.

Peppe
sumber
9

Pada keyboard pt-BR (Portugis Brasil) saya sebenarnya CTRL+ [.

karlphillip
sumber
9

Pada keyboard Turki, itu adalah Ctrl+ ü.

Turkdogan Tasdelen
sumber
8

Di keyboard Slovenia saya itu ALT   +Đ

skz
sumber
2
Secara default CTRL + đ
Marko Juvančič
6

Pada keyboard Belanda (Belgia) saya, ini CTRL+ ^.

Ward Coessens
sumber
6

Alat Goto> Opsi> Lingkungan> Fon dan Warna, pilih "Brace Matching (Rectangle)" dan ubah "Item Background" menjadi misalnya Yellow. Ini berfungsi untuk tanda kurung C # () {} dan [].

jasumon janardanan
sumber
Ya membantu & kotak teks 'Nama Tampilan' dari Font & Warna adalah tempat Brace Matching Rectangle berada.
Catto
Jika Anda memiliki tema gelap seperti saya, cyan bukan kuning juga akan membuat braket itu sendiri lebih terlihat.
Bora
5

Untuk Visual Studio Code (seperti yang terlihat di dokumentasi mereka ), gunakan Ctrl+ Shift+ \.

Pengaturan dapat ditemukan di:

File / Preferensi / Pintasan Keyboard

Saya menggunakan Visual Studio Code 1.8.0. Catatan Visual Studio Code mungkin berperilaku berbeda untuk keyboard internasional (seperti terlihat dalam jawaban ini re: keyboard Jerman )

Semoga ini bisa membantu seseorang.

Claudiu Hardalau
sumber
5

Detail yang dapat menguntungkan semua orang (Linux / Win / Mac)

Perintah di menu jalan pintas keyboard / editor editor.action.jumpToBracketada di sana Anda dapat mengaturnya untuk apa pun yang Anda suka. Ada juga yang disebut editor.action.selectToBracketyang tidak memiliki pintasan secara default (setidaknya di Mac).

Dll

Pada Mac editor.action.jumpToBracketdimulai dengan Cmd+ Shift+ \ dan saya mengubahnya ke Ctrl+ ]agar sesuai dengan apa yang orang lain katakan di sini. Saya melakukannya dengan harapan bahwa saya dapat menggunakan Ctrl+ Shift+ ]untuk "Perpanjang pilihan ke braket yang cocok". Itulah yang membuat saya menemukan detail di atas. Saya mengatur editor.action.selectToBracketke Ctrl+ Shift+ ]dan mendapatkan perilaku yang saya inginkan.

Bruno Bronosky
sumber
4

Pada keyboard Hungaria itu Ctrl+ ú.

Zéiksz
sumber
4

Agak relevan, tetapi untuk tag HTML: (karena tidak ada solusi bawaan, Ctrl+ Jtidak berfungsi untuk tag HTML:)

Inilah jawaban sebagai makro yang saya buat yang melakukannya (beralih), termasuk buka fokus:

Inilah demo:

Masukkan deskripsi gambar di sini

Dan ini kodenya. Nikmati!

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
Royi Namir
sumber
Pemetaan standar AS untuk <Control> +], juga berfungsi untuk saya dalam HTML dan CSS. Kedua tag juga disorot.
Paul Gorbas
3

Dalam Visual Studio Code pada keyboard jerman itu ctrl+ shift+^

Tapi Anda harus membuka file dengan ekstensi yang benar - misalnya, itu tidak berfungsi di file yang belum disimpan baru.

Markus
sumber
3

Pada keyboard Jerman itu ctrl+ shift+ ^.

olippuner
sumber
1
Bekerja seperti ini di keyboard Prancis saya!
Sylvain P.
Di Visual Studio 2019 Windows \ German saya menemukan ini: [Cntrl] + [´] berfungsi
Mong Zhu
2

Pada keyboard Swiss-Prancis: gunakan CTRL+ SHIFT+^

Fabio Salvalai
sumber
2

Pada keyboard Spanyol (Spanyol) dengan VS2012 adalah Ctrl+ ¡seperti yang dinyatakan oleh @Keith tetapi jika Anda menggunakan Ctrl+ ¿(diketik sebagai Ctrl+ Shift+ ¡) kemudian pergi ke Matching Brace plus memilih semua kode dalam dua kurung dan kemudian Anda tidak dapat pergi lagi ke penjepit lainnya.

David Oliván Ubieto
sumber