2016-06-13 6 views
7

しばらくの間、C#ソースファイルに著作権ヘッダーを挿入するためのカスタムVisual Studioコードスニペットがありました。Visual Studio 2015重要な末尾の空白を含むコードスニペット

<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <Header> 
    <Title>File Header</Title> 
    <Author>Me</Author> 
    <Shortcut>header</Shortcut> 
    <Description>Inserts a standard copyright header.</Description> 
    <SnippetTypes> 
     <SnippetType>Expansion</SnippetType> 
    </SnippetTypes> 
    </Header> 
    <Snippet> 
    <Declarations> 
     <Literal> 
     <ID>FileName</ID> 
     <ToolTip>The name of the C# code file.</ToolTip> 
     <Default>FileName</Default> 
     </Literal> 
    </Declarations> 
    <Code Language="CSharp"><![CDATA[// ----------------------------------------------------------------------- 
// <copyright file="$FileName$.cs" company="Company Name"> 
// Copyright © 2011-2016 by Company Name. All rights reserved. 
// </copyright> 
// ----------------------------------------------------------------------- 

]]></Code> 
    </Snippet> 
</CodeSnippet> 

この質問に注意する重要なことは、CDATAブロックの最後に2つの後続エンドラインがあることです。 2015年以前のVisual Studioのエディションでは、ファイルの先頭にカーソルを置くことができます。最初の宣言の直前に、header+TABと入力し、最後のコメントと最初のコメントの間に余分な空白行が表示されます宣言。

Visual Studio 2015は、末尾の空白を無視するようです。 header+TABと入力すると、最初のusing宣言が最後のコメントと同じ行に表示されます。

私はバグを見ていますか、Visual Studio 2015が末尾の空白を尊重するようにコードスニペットを設定する方法はありますか?

+0

最後の行に\ nを入れてみましたか? –

+0

ありがとう@PaulSwetz。それは、スニペットにリテラルテキスト '\ n'をソースファイルに挿入させます。同様に、 ' 'をCDATAブロック(XMLに相当する '\ r \ n ')の外側に追加しても問題は解決されません。 – kbrimington

+0

よくあることVSが付属しているスニペットを見ているのを見ていると$ end $ のコード終了のほとんどです。 \t

答えて

5

私はVSが付属してスニペットを見て見ている一般的なものは、ほとんどのコードは、スイッチから$end$

例で終わっている:末尾の空白の終わりに

<Code Language="csharp"><![CDATA[switch ($expression$) { $cases$ }*$end$*]]> </Code> 

場所$end$ように:

<![CDATA[// ----------------------------------------------------------------------- 
// <copyright file="$FileName$.cs" company="Company Name"> 
// Copyright © 2011-2016 by Company Name. All rights reserved. 
// </copyright> 
// ----------------------------------------------------------------------- 

$end$]]> 
関連する問題