2017-01-10 2 views
3

Я знаю, что вы можете переключаться между соответствующими кронштейнами с Ctrl + Сдвиг + \. Я хотел бы поместить курсор сразу после скобки и удалить как эту скобку, так и ее совпадение как можно проще.Как удалить совпадающие скобки в коде VS?

Поскольку с Alt + Click вы можете иметь множественный выбор, я искал что-то похожее на: Ctrl + Сдвиг + Alt + \ для размещения другого курсора на соответствующей планке, а затем удаляя оба с одним обратным пространством.

Есть ли ярлык, удаляющий пару соответствующих скобок/скобок?

ответ

-3

Это работает для(), {} и []

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

+0

Как добавить это в VS кодекс? – Guimo

+0

Если вы хотите, вы можете создать класс специально для этого или метода. –

+0

Но этот язык - это Visual Basic, правильно? Обратите внимание, что я хочу, чтобы он работал в Visual Studio Code, а не в Visual Studio, возможно, вы думаете о последнем (если нет, я полностью потерял). – Guimo

Смежные вопросы