如何在代码片段中放置空文字

How to Put Empty Literal in Code Snippet

我稍微修改了 VS 的 ctor 片段。这个想法是,如果我想要参数或主体,我输入它们,否则我可以按两次 Enter 跳过并使其无参数:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>ctor</Title>
            <Shortcut>ctor</Shortcut>
            <Description>Code snippet for constructor</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal Editable="false">
                    <ID>classname</ID>
                    <ToolTip>Class name</ToolTip>
                    <Function>ClassName()</Function>
                    <Default>ClassNamePlaceholder</Default>
                </Literal>
                <Literal>
                    <ID>parameters</ID>
                    <ToolTip>Parameters</ToolTip>
                </Literal>
                <Literal>
                    <ID>body</ID>
                    <ToolTip>Body</ToolTip>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[public $classname$ ($parameters$)
    {$body$}$end$]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

它工作得很好,除了它有一个小麻烦,以防我想要无参数:

public ProjectTask( )
{ }

注意到括号之间的额外 space 字符 了吗?我知道我在这里将懒惰提升到了一个全新的水平,但是有可能让它消失吗?

我刚刚在 VS 2015 中尝试了上面完全相同的代码片段,发现它不再有那个问题,生成的代码最终如下所示:

public ProjectTask()
{ }