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" )


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+\


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.


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.


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 #.


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!


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



12

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


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.




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.








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 [].


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.


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.



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

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.


3

Pada keyboard Jerman itu ctrl+ shift+ ^.


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 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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.