visual-studio - Visual Studio - 如何在运行宏时禁用自动格式/更正?

标签 visual-studio macros autocorrect

运行更改所选文本的宏时,标签会自动关闭并格式化文本。我怎样才能防止这种情况发生?

例如,将文本包装在标签中:

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/

相关文章:

javascript - 使用 CSS 或 JavaScript 关闭输入的自动更正

c# - 包含 'Any CPU' 和 'x86' 项目的 Visual Studio 2010 解决方案的建议

c++ - 使用 C++ 内联 UnrealEngine UE_LOG 宏

intellij-idea - IntelliJ - 文件观察器 : wrong output of macros

macros - IntelliJ 宏菜单

safari - 在 contentEditable div 上禁用 Mac OS X Lion Safari 的自动更正?

c# - 在 VS 中通过 Main(string[] args) 传递参数

vb.net - 为什么我的基本默认 .acceptbutton 不起作用?

c++ - Visual Studio 2010 在没有错误时不正确地用红色错误行下划线代码/注释

javascript - 在线自动更正