Visual Studio'da Eşleştirme Brace'ye gidin?


544

Visual Studio 2008'de kapanış parantezinden açılış parantezine geçmenin bir yolu var mı? Küme ayracı vurgulamak hakkında makul miktarda şey buldum, ancak imleci ona taşımakla ilgili hiçbir şey yok.

(Bu Sorunun VB.NET sürümü: "If / End If" arasında atlama için klavye kısayolu )


1
inanılmaz bir şekilde, bu, Mac Visual Studio'daki .js dosyaları için çalışmıyor (2019). WTH?!
Fattie

@Fattie, Windows 10'da .cs dosyaları için de çalışmaz. Bunun VS 2019 için genel bir şey olduğundan eminim, bu yüzden yeni bir soru yaptım: stackoverflow.com/q/59183422/1739000
NH.

Yanıtlar:


734

Bunu sizin için buldum: Visual Studio'da parantez arasında atlayın :

İmlecinizi küme parantezinin önüne veya arkasına (seçiminize) getirin ve sonra CTRL+ tuşuna basın ]. Parantez (), parantez [] ve parantez {} ile çalışır. Şu andan itibaren Where's Waldo? bu ayracı bulmak için.

MacOS'ta CMD+ SHIFT+ kullanın\


52
Sadece bilgi için, Norveççe bir klavyede bunun kısayolu Ctrl+ Å(aşağıdaki bir cevapta belirtilen Danimarka klavyesi ile aynıdır).
Julian

55
Buna ek olarak, VS 2010'da ve bir Alman klavyesinde Ctrl+ ´. Geri almanın hemen yanındaki kesme işareti.
Kjellski

11
Belçika azerty'de , tuhaf bir şekilde, brakete sahip olan ( yazılması gereken) anahtar üzerinde ctrl+ gibi görünüyor . ^[AltGr
Nyerguds

50
aralarındaki metni seçmek için CTRL +] + SHIFT tuşlarını kullanın
ygaradon

15
İtalyanca klavyede CTRL + ì
Pisu

110

Aralarında geçiş yapmak için CTRL+ ]tuşunu kullanın . Kullanırken imleci kaşlı ayraçlardan birine yerleştirin.


107

Visual Studio 2008 kullanıyorum ve bu kısayolun olmasını istediğiniz şeyi özelleştirebilirsiniz.

Araçlar -> Seçenekler -> Çevre -> Klavye menüsünü tıklayın . Ardından Edit.GotoBrace öğesini arayın .

Bu, şu anda bunun için hangi tuş kombinasyonunun atandığını söyleyecektir. Ben düşünüyorum isterseniz bu değiştirebilir, ancak eğer Kullanışlı Ctrl+ ]işi yapmaz.


3
Bu, diğer dillerin klavyeleri için tuş bağlamalarını bulmak için çok kullanışlıdır.
Afonso Matos

Evet, klavyenin farklı olması veya varsayılan kısayolun kaldırılması durumunda komut sorularına her zaman komut adıyla yanıt vermeliyiz. Ayrıca Edit.GotoBraceExtend'e bakın, Ctrl + [bir şey] ile Edit.GotoBrace'i eşlerseniz, muhtemelen Ctrl + Shift + [bir şey] 'i Edit.GotoBraceExtend ile eşlemek isteyeceksiniz.
hsandt

1
Bu benim için yararlı oldu çünkü VS 2017'de benim için hiç ayarlanmadı.
Mmm

26

Not: Ayrıca #if / #elif / #endif eşleşmesi için de çalışır. Düzeltme işareti #.


22

Herhangi bir nedenden dolayı bu sizin için çalışmıyorsa, bir şey klavye bağlantılarınızı bozmuş olabilir (benim için işe yaramadı). Bağlamayı yeterince kolay bir şekilde yeniden etkinleştirebilirsiniz - en azından ben düşündüm:

Bu prosedürü denedim:

  • Araçlar -> Seçenekler -> Çevre -> Klavye menüsüne gidin
  • Edit.GotoBrace komutuna gidin veya komutu arayın.
  • İstediğiniz kısayolu atayın (benimki boştu, bu yüzden CTRL   + yazdım ])
  • "Ata Düğmesini" tıkladığınızdan emin olun

Denedim ve hala işe yaramadı. Visual Studio'yu yeniden başlattım ve hala işe yaramadı - SADECE .cs dosyaları için çalıştı, ancak .vb dosyaları ve metin dosyaları ve ... TÜM dosyalar için çalışması gerekiyor!


2
VB dosyaları için CTRL+ SHIFT+ UP/DOWN(ref: stackoverflow.com/a/7895072/740639 ) kullanın
Walter Stabosz

@WalterStabosz Burada çalışmıyor (VS2015 VB.NET).
Ivanzinho



12

İspanyolca klavyede CTRL+ ¿(veya CTRL+ ¡).


2
VS2008 seçenekler menüsüne yazıldığı gibi WTF'nin keşfedilmesi 10 dakika idi. Teşekkürler!
Roman Rdgz

11

Tamlık uğruna, bir İsveç klavyesinde CTRL + å .

Ayrıca, mantıklı sanırım, ama CTRL + shift+ å (başkent Å için) bahsetmeye değer , parantez içindeki her şeyi seçer ve eşleşen olana gider.




10

Benim Portekizli klavyede ve SO EN VS, 's ile CTRL+ «eşleştirme paranteze gezindiğini ve CTRL+ SHIFT+ «sen iç kodu seçmek istiyorsanız.



9

Benim On pt-BR (Brezilya Portekizcesi) klavyenin gerçekte olduğundan CTRL+ [.



8

Slovence klavyemde ALT   +Đ


2
Varsayılan olarak CTRL +
đ



6

Araçlar> Seçenekler> Çevre> Yazı Tipleri ve Renkler'e gidin, "Küme Ayırma Eşleşmesi (Dikdörtgen)" seçin ve "Öğe Arka Planı" nı Sarı olarak değiştirin. Bu, C # parantezleri () {} ve [] için işe yaradı.


Evet yararlı & Yazı Tipleri ve Renklerin 'Görünen Ad' metin kutusu Brace Eşleştirme Dikdörtgeni'nin bulunduğu yerdir.
Catto

Benim gibi koyu bir temanız varsa, sarı yerine camgöbeği de braketin kendisini daha görünür hale getirecektir.
Bora

5

Visual Studio Code ( belgelerinde görüldüğü gibi ) için Ctrl+ Shift+ kullanın \.

Ayar şu adreste bulunabilir:

Dosya / Tercihler / Klavye Kısayolu

Visual Studio Code 1.8.0 kullanıyorum. Not Visual Studio Code, uluslararası klavyeler için farklı davranabilir ( bu cevapta da görüldüğü gibi : Almanca klavye )

Umarım bu birine yardımcı olur.


5

Herkese fayda sağlayabilecek ayrıntılar (Linux / Win / Mac)

Klavye kısayolları menüsü / düzenleyicisindeki komut editor.action.jumpToBracketorada istediğiniz gibi ayarlayabilirsiniz. editor.action.selectToBracketVarsayılan olarak kısayolu olmayan bir çağrı da vardır (en azından Mac'te).

Vb.

Mac üzerinde editor.action.jumpToBracketolarak başlar Cmd+ Shift+ \ ve ben bunu değiştirdi Ctrl+ ]diğerleri burada söylediklerine paralel olması. Ben kullanabilirsiniz umuduyla öyle yaptım Ctrl+ Shift+ ]"eşleştirme dilimine seçimini uzat" için. Beni yukarıdaki detayları keşfetmeye iten şey bu. Ben ayarlamak editor.action.selectToBracketiçin Ctrl+ Shift+ ]istediğim ve var tam olarak davranış.



4

Biraz alakalı, ancak HTML etiketleri için: (yerleşik bir çözüm olmadığından , Ctrl+ JHTML etiketleri için çalışmaz:)

İşte odaklanmak gitmek de dahil olmak üzere inşa (geçiş) bir makro olarak cevap:

İşte demo:

Resim açıklamasını buraya girin

Ve işte kod. Zevk almak!

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

<Control> +] 'nın standart ABD eşlemesi benim için HTML ve CSS'de de çalışır. Her iki etiket de vurgulanır.
Paul Gorbas

3

Almanca klavyedeki Visual Studio Code'da ctrl+ shift+^

Ancak doğru uzantıya sahip bir dosyayı açmanız gerekiyor - örneğin yeni kaydedilmemiş dosyalarda çalışmıyor.


3

Almanca klavyede ctrl+ shift+ ^.


1
Fransızca klavyemde böyle çalışıyor!
Sylvain

Visual Studio 2019 Windows \ German'da şunu buldum: [Cntrl] + [´] çalışmak için
Mong Zhu


2

VS2012 ile İspanyolca (İspanya) klavyede @Keith tarafından belirtildiği gibi Ctrl+ bulunur ¡, ancak Ctrl+ ¿( Ctrl+ Shift+ olarak yazılır ¡) kullanırsanız Eşleştirme Brace'a gider ve iki parantez içindeki tüm kodu seçer ve sonra tekrar giremezsiniz. diğer küme ayracı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.