Đi đến kết hợp Brace trong Visual Studio?


544

Có cách nào trong Visual Studio 2008 để đi từ một cú đúp kết thúc đến cú đúp mở đầu của nó không? Tôi đã tìm thấy một số lượng lớn các công cụ về làm nổi bật niềng răng, nhưng không có gì về việc di chuyển con trỏ đến nó.

(Phiên bản VB.NET của Câu hỏi này: Phím tắt cho Nhảy giữa "Nếu / Kết thúc Nếu" )


1
thật khó tin, điều này dường như không hoạt động (2019) cho các tệp .js trên Mac Visual Studio. WTH?!
Fattie

@Fattie, Nó cũng không hoạt động trong Windows 10 cho các tệp .cs. Tôi khá tự tin rằng đây là một điều thú vị cho VS 2019 vì vậy tôi đã đưa ra một câu hỏi mới: stackoverflow.com/q/59183422/1739000
NH.

Câu trả lời:


734

Tôi tìm thấy cái này cho bạn: Nhảy giữa các niềng răng trong Visual Studio :

Đặt con trỏ của bạn trước hoặc sau dấu ngoặc (lựa chọn của bạn) và sau đó nhấn CTRL+ ]. Nó hoạt động với dấu ngoặc đơn (), ngoặc vuông [] và dấu ngoặc {}. Từ giờ bạn không cần chơi Waldo đâu? để tìm cái nẹp đó.

Trên MacOS, sử dụng CMD+ SHIFT+\


52
Chỉ để biết thông tin, trên bàn phím tiếng Na Uy, phím tắt cho điều này là Ctrl+ Å(giống như bàn phím tiếng Đan Mạch được đề cập trong câu trả lời dưới đây).
Julian

55
Ngoài ra, trong VS 2010 và trên bàn phím tiếng Đức là Ctrl+ ´. Đó là dấu nháy đơn ngay bên cạnh backspace.
Kjellski

11
Trên azerty của Bỉ, nó dường như là ctrl+ ^, một cách kỳ lạ, trên khóa cũng có dấu [ngoặc (cần AltGrphải gõ).
Nyerguds

50
sử dụng CTRL +] + SHIFT để chọn văn bản giữa chúng
ygaradon

15
trong bàn phím tiếng Ý là CTRL + ì
Pisu

110

Sử dụng CTRL+ ]để chuyển đổi giữa chúng. Đặt con trỏ tại một trong các dấu ngoặc khi sử dụng nó.


107

Tôi sử dụng Visual Studio 2008 và bạn có thể tùy chỉnh những gì bạn muốn phím tắt này.

Nhấp vào menu Công cụ -> Tùy chọn -> Môi trường -> Bàn phím . Sau đó tìm Edit.GotoBrace .

Điều này sẽ cho bạn biết tổ hợp phím nào hiện đang được chỉ định cho việc này. Tôi nghĩ bạn có thể thay đổi điều này nếu bạn muốn, nhưng nó hữu ích nếu Ctrl+ ]không hoạt động.


3
Điều này rất hữu ích để tìm các phím bấm cho bàn phím của các ngôn ngữ khác.
Afonso Matos

Có, chúng ta phải luôn trả lời các câu hỏi bằng tên lệnh trong trường hợp bàn phím khác hoặc phím tắt mặc định đã bị xóa. Ngoài ra, hãy kiểm tra Edit.GotoBraceExtend, nếu bạn ánh xạ Ctrl + [một cái gì đó] sang Edit.GotoBrace, có lẽ bạn sẽ muốn ánh xạ Ctrl + Shift + [một cái gì đó] thành Edit.GotoBraceExtend.
hsandt

1
Điều này hữu ích cho tôi vì nó hoàn toàn không phù hợp với tôi trong VS 2017.
Mmm

26

Lưu ý: Nó cũng hoạt động cho khớp #if / #elif / #endif. Các dấu mũ phải ở trên #.


22

Nếu vì một lý do nào đó, điều này KHÔNG làm việc cho bạn, một cái gì đó có thể đã làm rối tung các ràng buộc bàn phím của bạn (nó không hoạt động với tôi). Bạn có thể kích hoạt lại ràng buộc đủ dễ dàng - ít nhất là như vậy tôi nghĩ:

Tôi đã thử thủ tục này:

  • Chuyển đến menu Công cụ -> Tùy chọn -> Môi trường -> Bàn phím
  • Cuộn đến hoặc tìm kiếm lệnh Edit.GotoBrace
  • Chỉ định phím tắt mong muốn (của tôi trống, vì vậy tôi đặt CTRL   + ])
  • Hãy chắc chắn nhấp vào "Nút gán"

Tôi đã thử nó, và nó vẫn không hoạt động. Tôi đã khởi động lại Visual Studio và nó vẫn không hoạt động - CHỈ nó hoạt động cho các tệp .cs, nhưng tôi cần nó để làm việc cho các tệp .vb và tệp văn bản, và ... cũng TẤT CẢ các tệp!


2
Đối với các tệp VB, sử dụng CTRL+ SHIFT+ UP/DOWN(ref: stackoverflow.com/a/7895072/740639 )
Walter Stabosz

@WalterStabosz Không hoạt động ở đây (VS2015 VB.NET).
Ivanzinho


17

Trên bàn phím tiếng Đức, nó là Ctrl+ ´.


12

Trên bàn phím tiếng Tây Ban Nha, nó là CTRL+ ¿(hoặc CTRL+ ¡).


2
10 phút để khám phá WTF là, như được ghi vào menu tùy chọn VS2008. Cảm ơn!
Roman Rdgz

11

Để hoàn thiện hơn, trên bàn phím Thụy Điển, nó là CTRL + å .

Ngoài ra, tôi đoán logic, nhưng đáng nói đến CTRL + shift+ å (đối với chữ hoa), chọn tất cả mọi thứ bên trong dấu ngoặc nhọn và đi đến khớp nối.


11

Trên bàn phím tiếng Đan Mạch của tôi, nó là CTRL+ Å.



10

Trên bàn phím tiếng Bồ Đào Nha của tôi và SO với EN VS, đó là CTRL+ «để điều hướng đến khớp nối và CTRL+ SHIFT+ «nếu bạn có ý định chọn mã bên trong.


9

Trên bàn phím tiếng Ý của tôi, nó là CTRL+ ^.


9

Trên bàn phím pt-BR (tiếng Bồ Đào Nha Brazil) của tôi, nó thực sự là CTRL+ [.






6

Công cụ Goto> Tùy chọn> Môi trường> Phông chữ và Màu sắc, chọn "Kết hợp dấu ngoặc (Hình chữ nhật)" và thay đổi "Nền của mục" thành màu vàng. Điều này làm việc cho dấu ngoặc đơn C # () {} và [].


Có hữu ích & hộp văn bản 'Tên hiển thị' của Phông chữ & Màu sắc là nơi đặt hình chữ nhật phù hợp với Brace.
Catto

Nếu bạn có chủ đề tối như tôi làm, màu lục lam thay vì màu vàng cũng sẽ làm cho khung đỡ rõ hơn.
Bora

5

Đối với Visual Studio Code (như đã thấy trong tài liệu của họ ), hãy sử dụng Ctrl+ Shift+ \.

Cài đặt có thể được tìm thấy trong:

Tệp / Tùy chọn / Phím tắt

Tôi đang sử dụng Visual Studio Code 1.8.0. Lưu ý Visual Studio Code có thể hoạt động khác với bàn phím quốc tế (như đã thấy trong câu trả lời này: Bàn phím tiếng Đức )

Hy vọng điều này sẽ giúp được ai đó.


5

Chi tiết có thể mang lại lợi ích cho tất cả mọi người (Linux / Win / Mac)

Lệnh trong trình đơn / trình soạn thảo phím tắt editor.action.jumpToBracketở đó bạn có thể đặt nó thành bất cứ thứ gì bạn thích. Ngoài ra còn có một cái gọi là editor.action.selectToBracketkhông có phím tắt theo mặc định (ít nhất là trên Mac).

Vân vân.

Trên Mac editor.action.jumpToBracketbắt đầu là Cmd+ Shift+ \ và tôi đã đổi nó thành Ctrl+ ]để phù hợp với những gì người khác nói ở đây. Tôi đã làm như vậy với hy vọng rằng tôi có thể sử dụng Ctrl+ Shift+ ]để "Mở rộng lựa chọn cho dấu ngoặc phù hợp". Đó là những gì dẫn tôi khám phá các chi tiết ở trên. Tôi đặt editor.action.selectToBracketthành Ctrl+ Shift+ ]và có chính xác hành vi tôi muốn.



4

Một chút liên quan, nhưng đối với các thẻ HTML: (vì không có giải pháp tích hợp, Ctrl+ Jkhông hoạt động đối với các thẻ HTML :)

Đây là câu trả lời dưới dạng macro mà tôi đã xây dựng để thực hiện (chuyển đổi), bao gồm cả đi đến tiêu điểm:

Đây là bản demo:

Nhập mô tả hình ảnh ở đây

Và đây là mã. Thưởng thức!

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

Bản đồ <Control> +] tiêu chuẩn của Hoa Kỳ cũng hoạt động với tôi trong HTML và CSS. Cả hai thẻ được tô sáng quá.
Paul Gorbas

3

Trong Visual Studio Code trên bàn phím tiếng Đức, nó ctrl+ shift+^

Nhưng bạn phải mở một tệp có phần mở rộng chính xác - chẳng hạn như nó không hoạt động trong các tệp chưa được lưu mới.


3

Trên bàn phím tiếng Đức, nó là ctrl+ shift+ ^.


1
Hoạt động như thế này trên bàn phím tiếng Pháp của tôi!
Sylvain P.

Trong Visual Studio 2019 Windows \ German tôi đã tìm thấy điều này: [Cntrl] + [ỉ] hoạt động
Mong Zhu


2

Trên bàn phím tiếng Tây Ban Nha (Tây Ban Nha) có VS2012 là Ctrl+ ¡như đã nêu bởi @Keith nhưng nếu bạn sử dụng Ctrl+ ¿(được nhập là Ctrl+ Shift+ ¡) thì hãy vào Match Brace plus chọn tất cả mã trong hai dấu ngoặc và sau đó bạn không thể quay lại nẹp khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.