【问题标题】:How to delete matching brackets in VS Code?如何在 VS Code 中删除匹配的括号?
【发布时间】:2017-05-24 23:45:51
【问题描述】:

我知道您可以使用 Ctrl + Shift + \ 在匹配的括号之间跳转。我想将光标放在括号之后,并尽可能轻松地删除该括号及其匹配的括号。

由于使用 Alt + Click 你可以有多个选择,我正在寻找类似的东西: Ctrl + Shift + Alt + \ 用于将另一个光标放在匹配的括号上,然后用一个退格键删除两者。

是否有删除一对匹配括号/括号的快捷方式?

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:

    有一个名为“Bracketeer”的扩展程序可以满足您的需求。

    首先,安装

    Ctrl-p,然后是ext install pustelto.bracketeer,然后是回车。

    然后您可以将以下内容添加到您的keybindings.json

      {
        "key": "ctrl+alt+backspace",
        "command": "bracketeer.removeBrackets"
      },
    

    然后您可以使用 ctrl-alt-backspace 删除匹配的括号。

    另见:

    【讨论】:

    • 有没有办法一键删除带括号的行,并在所有代码之间取消缩进?
    【解决方案2】:

    这适用于 ()、{} 和 []

    Sub DeleteMatchingBrace()
    Dim sel As TextSelection = DTE.ActiveDocument.Selection
    Dim ap As VirtualPoint = sel.ActivePoint
    
    If (sel.Text() <> "") Then Exit Sub
    ' reposition
    DTE.ExecuteCommand("Edit.GoToBrace") : DTE.ExecuteCommand("Edit.GoToBrace") 
    
    If (ap.DisplayColumn <= ap.LineLength) Then sel.CharRight(True)
    
    Dim c As String = sel.Text
    Dim isRight As Boolean = False
    If (c <> "(" And c <> "[" And c <> "{") Then
        sel.CharLeft(True, 1 + IIf(c = "", 0, 1))
        c = sel.Text
        sel.CharRight()
        If (c <> ")" And c <> "]" And c <> "}") Then Exit Sub
        isRight = True
    End If
    
    Dim line = ap.Line
    Dim pos = ap.DisplayColumn
    DTE.ExecuteCommand("Edit.GoToBrace")
    If (isRight) Then sel.CharRight(True) Else sel.CharLeft(True)
    
    sel.Text = ""
    If (isRight And line = ap.Line) Then pos = pos - 1
    sel.MoveToDisplayColumn(line, pos)
    sel.CharLeft(True)
    sel.Text = ""
    End Sub
    

    然后在VS中添加这个宏的快捷方式

    【讨论】:

    • 如何将它添加到 VS Code 中?
    • 如果您愿意,可以专门为该类或方法创建一个类。
    • 但是那个语言是 Visual Basic,对吧?请注意,我希望它在 Visual Studio Code 中工作,而不是在 Visual Studio 中,也许您正在考虑后者(如果没有,我完全迷路了)。
    • Visual Studio 代码 Visual Studio.
    猜你喜欢
    • 2017-05-31
    • 2022-11-10
    • 2016-10-16
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多