Почему мои фрагменты кода добавляют дополнительные строки? - PullRequest
1 голос
/ 07 мая 2019

Я пытаюсь сделать несколько фрагментов кода для C # в Visual Studio, чтобы сделать мою жизнь проще.Однако фрагменты добавляют дополнительную строку до и после самого фрагмента, когда он добавляется в код.

Я знаю, что могу добавить $ end $ к фрагменту, чтобы удалить строку в конце (которую я 'добавлю позже) однако у меня еще есть дополнительная строка над фрагментом.Я не смог найти решение для этого.Не уверен, есть ли он.

Попробовал фрагмент в Visual Studio 2017 и 2019 с тем же результатом.

Фрагмент:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets 
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
        <Title>NF CustumINotify property</Title>
        <Shortcut>nfprop</Shortcut>
    </Header>
    <Snippet>
        <Declarations>
            <Literal>
                <ID>privatePropertyName</ID>
                <ToolTip>Replace with propertyName</ToolTip>
                <Default>propertyName</Default>
            </Literal>
            <Literal>
                <ID>publicPropertyName</ID>
                <ToolTip>Replace with PropertyName</ToolTip>
                <Default>PropertyName</Default>
            </Literal>
            <Object>
                <ID>type</ID>
                <Type>System.Int64</Type>
                <ToolTip>Replace with property type</ToolTip>
                <Default>int</Default>
            </Object>
        </Declarations>
        <Code Language="CSharp"><![CDATA[private $type$ _$privatePropertyName$;

  public $type$ $publicPropertyName$
  {
  get => _$privatePropertyName$;
  set => SetField(ref _$privatePropertyName$, value, nameof($publicPropertyName$));
  }]]>
        </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Пример кода:

public void somefunc()
{

    private $type$ _$privatePropertyName$;

    public $type$ $publicPropertyName$
    {
    get => _$privatePropertyName$;
    set => SetField(ref _$privatePropertyName$, value, nameof($publicPropertyName$));
    }

}

Желаемый выход:

public void somefunc()
{
    private $type$ _$privatePropertyName$;

    public $type$ $publicPropertyName$
    {
        get => _$privatePropertyName$;
        set => SetField(ref _$privatePropertyName$, value, nameof($publicPropertyName$));
    }
}
...