【发布时间】:2016-06-18 05:50:33
【问题描述】:
一段时间以来,我有一个自定义的 Visual Studio 代码 sn-p 来帮助在我的 C# 源文件中注入版权标头。它看起来像这样:
<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 块末尾的两个尾行。在 2015 年之前的 Visual Studio 版本中,我可以将光标放在文件开头,就在第一个 using 声明之前,键入 header+TAB,然后我的标题会出现在最后一个注释和首先使用声明。
Visual Studio 2015 似乎不支持尾随空格。当我输入header+TAB 时,第一个 using 声明与最后一条注释出现在同一行。
我是在查看一个错误,还是有办法配置我的代码 sn-p 以便 Visual Studio 2015 能够使用尾随空格?
【问题讨论】:
-
你试过在最后一行加一个 \n 吗?
-
感谢@PaulSwetz。唉,这导致 sn-p 将文字文本
\n注入到我的源文件中。同样,在 CDATA 块之外添加&#xD;&#xA;(XML 等效于\r\n)并不能解决问题。 -
在查看 VS 附带的 sn-ps 时,我看到的最常见的东西是代码以 $end$ 结尾的示例来自 switch
-
谢谢,@PaulSwetz。我试过这个,它确实解决了这个问题。如果您发表您的评论作为答案,我很乐意给它投票和接受。
标签: c# visual-studio-2015 code-snippets