我知道你可以使用 Ctrl + Shift + \ 在匹配的括号之间跳转。我想要的是能够将光标放在一个括号后面,并尽可能轻松地删除该括号及其匹配括号。
由于使用 Alt + 点击 可以进行多个选择,因此我正在寻找类似于 Ctrl + Shift + Alt + \ 的快捷键,以在匹配的括号上放置另一个光标,然后用一个退格键同时删除两个括号。
是否有一种快捷键可以删除一对匹配的括号/圆括号?
我知道你可以使用 Ctrl + Shift + \ 在匹配的括号之间跳转。我想要的是能够将光标放在一个括号后面,并尽可能轻松地删除该括号及其匹配括号。
由于使用 Alt + 点击 可以进行多个选择,因此我正在寻找类似于 Ctrl + Shift + Alt + \ 的快捷键,以在匹配的括号上放置另一个光标,然后用一个退格键同时删除两个括号。
是否有一种快捷键可以删除一对匹配的括号/圆括号?
有一个叫做Bracketeer的扩展程序可以实现您想要的功能。
首先使用 Ctrl-p 安装扩展:
ext install pustelto.bracketeer
,然后按回车。
之后您可以将以下内容添加到您的 keybindings.json
文件中:
{
"key": "ctrl+alt+backspace",
"command": "bracketeer.removeBrackets"
},
您可以使用 ctrl-alt-backspace 来删除匹配的括号。Remove Brackets
editor.action.removeBrackets
Ctrl
+ Alt
+ Baksoace
可以重新启动机器。 - Ryan DayCmd
+ Opt
+ Backspace
。 - bwdm这适用于 (), {} 和 []
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中为此宏添加一个快捷方式