Visual studio Visual Studio-如何在运行宏时禁用自动格式化/更正?
运行更改选定文本的宏时,会自动关闭标记并格式化文本。我怎样才能防止这种情况发生 例如,在标记中换行文字:Visual studio Visual Studio-如何在运行宏时禁用自动格式化/更正?,visual-studio,macros,autocorrect,Visual Studio,Macros,Autocorrect,运行更改选定文本的宏时,会自动关闭标记并格式化文本。我怎样才能防止这种情况发生 例如,在标记中换行文字: DTE.ActiveDocument.Selection.Text = String.Format("<tag>{0}</tag>", DTE.ActiveDocument.Selection.Text) DTE.ActiveDocument.Selection.Text=String.Format(“{0}”,DTE.ActiveDocument.Selectio
DTE.ActiveDocument.Selection.Text = String.Format("<tag>{0}</tag>", DTE.ActiveDocument.Selection.Text)
DTE.ActiveDocument.Selection.Text=String.Format(“{0}”,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>
- 一个
- 两个
- 三个
我怎样才能防止呢?从上一个示例可以看出,格式错误,还有一个额外的
我认为唯一的方法是打开一个撤消事务进行编辑。这将暂停所有格式化操作,直到事务完成。这将允许您在格式化之前执行多个编辑操作
以下是OpenLinkedEndo方法的文档
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
试试看
DTE.UndoContext.Open(“InsertSomeCode”)
将ts设置为text Selection=CType(DTE.ActiveDocument.Selection,text Selection)
ts.Insert(String.Format(“{0}”,ts.Text))
最后
DTE.UndoContext.Close()
结束尝试
这里没有示例代码。。。将要撤消宏操作(如果这阻止了该操作的发生,则为)