我想让Visual Studio将自动完成的结束标记向右移动一个单词(或更多).例如,给定以下HTML:
I need to emphasize some text.
如果我在"强调"一词之前键入,Visual Studio会自动填充如下:
I need to emphasize some text.
然后我需要移动结束以获得我想要的东西:
I need to emphasize some text.
有没有办法让Visual Studio自动完成最后一步?
你的问题让我想到如果存在这种功能会有多酷.幸运的是,在VS中实现宏非常简单.下面是宏的代码.您可以使用VS中的自定义工具轻松将其绑定到CTRL + ALT + Right.
(注意:我只是把它扔得很快,因为它是星期五晚上)
Sub MoveClosingTag() Dim ts As EnvDTE.TextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection) Dim start As EditPoint = ts.ActivePoint.CreateEditPoint() Dim tag As String ts.WordRight(True) If ts.Text = "" Then Do Until ts.ActivePoint.AtEndOfLine ts.CharRight(True) If ts.Text.EndsWith(">") Then Exit Do Loop tag = ts.Text If tag.EndsWith(">") Then ts.Delete() ts.WordRight(False) ts.Insert(tag, EnvDTE.vsInsertFlags.vsInsertFlagsCollapseToStart) Else ts.MoveToPoint(start) End If Else ts.MoveToPoint(start) End If End Sub