我意识到我可能有点懒惰,但是有谁知道 Visual Studio 宏,我可以在其中选择 Visual Studio IDE 中的一些文本,单击一个按钮,然后让它用标签包裹选定的文本?它会产生类似的东西:
<strong>My Selected Text</strong>
我什至愿意创建一个宏,只是不确定从哪里开始!
我意识到我可能有点懒惰,但是有谁知道 Visual Studio 宏,我可以在其中选择 Visual Studio IDE 中的一些文本,单击一个按钮,然后让它用标签包裹选定的文本?它会产生类似的东西:
<strong>My Selected Text</strong>
我什至愿意创建一个宏,只是不确定从哪里开始!
这样做的代码相当简单:
Sub SurroundWithStrongTag()
DTE.ActiveDocument.Selection.Text = "<strong>" + DTE.ActiveDocument.Selection.Text + "</strong>"
End Sub
现在,如果您对宏不太了解,这里是如何添加它:
要将宏连接到按钮:
我知道这是一个老话题,但也许有人觉得这很有用。
我有以下设置:
Sub WrapInH1()
WrapInTag("h1")
End Sub
Sub WrapInP()
WrapInTag("p")
End Sub
Sub WrapInStrong()
WrapInTag("strong")
End Sub
Sub WrapInTag()
WrapInTag("")
End Sub
Sub WrapInTag(ByVal tagText As String)
EnableAutoComplete(False)
If tagText.Length = 0 Then
tagText = InputBox("Enter Tag")
End If
Dim text As String
text = DTE.ActiveDocument.Selection.Text
text = Regex.Replace(text, vbCrLf & "$", "") 'Remove the vbCrLf at the end of the line, for when you select the line by clicking in the margin, otherwise your closing tag ends up on it's own line at the end...
DTE.ActiveDocument.Selection.Text = "<" & tagText & ">" & text & "</" & tagText & ">" & vbCrLf
EnableAutoComplete(True)
End Sub
Private Sub EnableAutoComplete(ByVal enabled As Boolean)
Dim HTMLprops As Properties
Dim aProp As EnvDTE.Property
HTMLprops = DTE.Properties("Texteditor", "HTML Specific")
aProp = HTMLprops.Item("AutoInsertCloseTag")
aProp.Value = enabled
End Sub
Dim HTMLprops As Properties = DTE.Properties("Texteditor", "HTML Specific")
Dim aProp As EnvDTE.Property = HTMLprops.Item("AutoInsertCloseTag")
aProp.Value = False
如果您想要一个开箱即用的解决方案,Visual Studio 2015 带有一个新的快捷方式,Shift+Alt+W 用 div 包装当前选择。此快捷方式使文本“div”处于选中状态,使其可以无缝更改为任何所需的标签。这与自动结束标签更换相结合,可提供快速解决方案。
Shift+Alt+W > strong > Enter