web-dev-qa-db-ja.com

VS2015でスニペットが余分な改行を挿入する

Visual Studioで使用するカスタムスニペットを作成しました。 VS2013では期待どおりに機能しましたが、VS2015(コミュニティエディション)で使用して以来、コードの前に余分な改行が挿入されています(2回目にTabキーを押すか、Enterキーを押すと)。

これはカスタムスニペットにのみ問題があるようです(組み込みのスニペットは問題なく動作します)。誰がこれを引き起こしているのか知っていますか?それは非常に迷惑です。

余談ですが、これは、空のコード行でスニペットをアクティブにした場合にのみ発生します。既存のコードの後に​​実行すると、改行が挿入されません。残念ながら、スニペットはステートメントなので、これはあまり役に立ちません。

以下は、VSサンプルからほぼ完全にコピーされたスニペットです。

<?xml version="1.0" encoding="utf-8" ?> 
<CodeSnippets xmlns="http://schemas.Microsoft.com/VisualStudio/CodeSnippet">
<CodeSnippet Format="1.0.0">

    <!-- The header contains information describing the snippet. -->
    <Header>

      <!-- The Title of the snippet, this will be shown in the snippets manager. -->
      <Title>Insert Field Add</Title>

      <!-- The description of the snippet. -->
      <Description>Inserts a basic field add for a DataObject</Description>

      <!-- The author of the snippet. -->
      <Author>Thomas Price</Author>

      <!-- The set of characters that must be keyed in to insert the snippet. -->
      <Shortcut>fadd</Shortcut>

      <!-- The set of snippet types we're dealing with - either Expansion or -->
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>          

    </Header>

    <!-- Now we have the snippet itself. -->
    <Snippet>
        <!-- Create any declarations that we use in the snippet. -->
        <Declarations>
          <Literal>
            <ID>FieldName</ID>
            <ToolTip>Enter the field name</ToolTip>
            <Default>field</Default>
          </Literal>
        </Declarations>

        <!-- Sepecify the code language and the actual snippet content. -->
        <Code Language="CSharp" Kind="any">
            <![CDATA[$FieldName$ = fields.add($FieldName$, "$FieldName$");]]>
        </Code>
    </Snippet>
</CodeSnippet>
39
thomas88wp

$ end $をスニペットテキストのどこかに置くことで、前の改行を防ぐことができます。例:

<![CDATA[$FieldName$ = fields.add($FieldName$, "$FieldName$");$end$]]>
59
Craig A