我有一个代码片段string.Format(@“”)
,有一个快捷方式sf
,它会插入片段并将光标放置在两个双引号之间。非常方便。当然,我可以通过键入sf
并按两次tab来正常使用它:
但是,我刚刚发现快捷方式在某些位置不起作用。例如,如果我正在构建此语句:
if(true) throw new FormatException() // <-- cursor is inside these parens
当我输入
sf
时,快捷方式没有出现在Intellisense菜单中,如果我按两次Tab键,它也不会生成片段。为什么?我已经尝试搜索“C#代码片段快捷方式有时无法工作”,“C#代码片段快捷方式不起作用”,“Visual Studio代码片段有时无法工作”等,但我找不到有用的信息。
编辑:以下是片段定义:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
<Title>String.Format with @</Title>
<Author>Rory</Author>
<Description>
</Description>
<HelpUrl>
</HelpUrl>
<Shortcut>sf</Shortcut>
</Header>
<Snippet>
<Declarations>
<Literal Editable="true">
<ID>anchor</ID>
<ToolTip>
</ToolTip>
<Default>
</Default>
<Function>
</Function>
</Literal>
</Declarations>
<Code Language="csharp" Delimiter="$" Kind="method body"><![CDATA[string.Format(@"$selected$$end$")]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
方法体
类型的。 - jessehouwing