如何删除VS Code中的匹配括号?

时间:2017-01-10 13:10:21

标签: visual-studio-code

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

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

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

2 个答案:

答案 0 :(得分:5)

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

首先,使用

安装

Ctrl - p ,然后按ext install pustelto.bracketeer,然后按Enter。

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

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

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

另请参阅:

答案 1 :(得分:-4)

适用于(),{}和[]

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

中添加此宏的快捷方式