我创建的 C# 代码片段只能通过按 Enter 来结束,而内置片段(例如“struct”)可以通过在自定义字段中切换来完成。
这不是一个大问题,但它很烦人。我尝试将结构片段的整个 XML 复制到我自己的中,只替换快捷方式名称。即便如此,我还是必须按 Enter 才能完成插入。
任何想法为什么会这样?其他人可以重现这种行为吗?
这是我要写的片段:
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>cmd</Title>
<Shortcut>cmd</Shortcut>
<Description>Code snippet for ICommand</Description>
<Author>Andreas Larsen</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>name</ID>
<ToolTip>Command name</ToolTip>
<Default>My</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[public ICommand $name$Command
{
get
{
if (_$name$Command == null)
_$name$Command = new DelegateCommand($name$);
return _$name$Command;
}
}
$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
编辑: 正如 Carl G 所指出的,Visual Studio 行为仅以 ENTER 或 ESC 结束。以 TAB 结尾是 ReSharper Live Template 行为。