运行更改所选文本的宏时,标签会自动关闭并格式化文本。我怎样才能防止这种情况发生?
例如,将文本包装在标签中:
DTE.ActiveDocument.Selection.Text = String.Format("<tag>{0}</tag>", DTE.ActiveDocument.Selection.Text)
以两个结束标签结尾:
<tag>Text</tag></tag>
更奇怪的是,多行失败:
<li>One</li>
<li>Two</li>
<li>Three</li>
一个结束了
<ul> <li>One</li>
<li>Two</li>
<li>Three</li></li></ul>
我怎样才能防止这种情况发生?从最后一个例子可以看出,格式错误,多了一个</li>
。
最佳答案
您需要插入文本而不是分配文本:
Try
DTE.UndoContext.Open("InsertSomeCode")
Dim ts As TextSelection = CType(DTE.ActiveDocument.Selection, TextSelection)
ts.Insert(String.Format("<tag>{0}</tag>", ts.Text))
Finally
DTE.UndoContext.Close()
End Try
关于visual-studio - Visual Studio - 如何在运行宏时禁用自动格式/更正?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188998/