编写以打击TAB结尾的C#片段
作者:互联网
我创建的C#代码段只能通过按Enter键结束,而内置的片段如’struct’可以通过自定义字段的Tab键来完成.
这不是一个大问题,但它很烦人.我尝试将结构片段的整个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行为.
解决方法:
我只能在按Enter / escape而不是tab时提交struct snippet.我不认为你想要实现的目标是可能的(或者对此事情是明智的).要完成代码片段的约定是按Enter键或转义this is the documented behaviour.
做其他事情肯定会违反惯例吗?当您使用参数化片段(例如for)时,您可以看到为什么约定有用. Tabbing允许您在对决定感到满意之前多次修改值,然后按Enter键.
标签:c,visual-studio,visual-studio-2008,code-snippets 来源: https://codeday.me/bug/20190627/1301879.html