Visual Studio 扩展 Selection.Text

Visual Studio Extension Selection.Text

我正在创建 Visual Studio 扩展程序,但 Selection.Text 有问题。

我的代码如下所示:

  DTE dte = Package.GetGlobalService(typeof(DTE)) as DTE;
    
            if (dte.ActiveDocument != null)
            {
                var selection = (TextSelection)dte.ActiveDocument.Selection;
                string text = selection.Text;
                selection.Text = text;
            }

此代码应该只用于获取和设置相同的文本。 当我用这样的输入文本调用此扩展时:

 {
        "$schema": "****",
        "contentVersion": "*******",
        "functions": [
        ],

我的分机会这样做:

{
        "$schema": "****",
                "contentVersion": "*******",
                        "functions": [
                                ],}

为什么会这样?为什么每行向右移动一个制表符?

有谁知道如何在 Visual Studio 扩展中获取和设置一些无需选择的文本?

有谁知道如何在 Visual Studio 扩展中设置折叠?

Visual Studio 使用 selection.Text = text;

时自动格式化代码

您可以使用 selection.Insert(text); 来按原样设置文本。