我有一个非常简单的代码snitppet,如下所示:
<asp:Label Text="$Name$" runat="server" AssociatedControlID="$txtName$" />
<asp:TextBox runat="server" ID="$txtName$" />
<br />
我希望是$txtName$
在两个地方都会被更改,但事实并非如此,只有第一个实例被更改,我甚至无法切换到第二个实例。
有解决方法吗?
答案 0 :(得分:1)
这应该对我有用。
您能否展示完整的代码段文件?这是一个有效的,type
和fieldName
被多次替换:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<Header>
<Title>Non-automatically implemented property</Title>
<Author>Richard Cox</Author>
<Shortcut>propf</Shortcut>
<Description>Property with exlicit field</Description>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>propName</ID>
<ToolTip>Property Name</ToolTip>
<Default>Name</Default>
</Literal>
<Literal>
<ID>fieldName</ID>
<ToolTip>Field Name</ToolTip>
<Default>field</Default>
</Literal>
<Literal>
<ID>type</ID>
<ToolTip>Property type</ToolTip>
<Default>string</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[private $type$ $fieldName$;
public $type$ $propName$ {
get { return $fieldName$;}
set { $fieldName$ = value;}
}
$end$]]>
</Code>
</Snippet>
</CodeSnippet>
答案 1 :(得分:1)
事实证明,更换工作正常,但不是我输入的。因此,我可以键入我需要的内容,然后为了更改其他属性,我必须将焦点从片段中移开,因此按下向下箭头键可以完成工作。
答案 2 :(得分:1)
有趣的场景开始时,您希望使用$ selected $两次创建环绕片段。例如,创建CheckArgumentForNull片段以检查null的参数,并且在null的情况下,使用参数名称引发ArgumentNullException。后来才被取代。
有什么想法吗?当然,我们可以自己使用仅扩展片段和类型参数名称。
<?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>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
<Title>notnull</Title>
<Author>Viiar Consulting</Author>
<Description>Code snippet for checking whether is argument null</Description>
<HelpUrl>
</HelpUrl>
<Shortcut>notnull</Shortcut>
</Header>
<Snippet>
<Imports>
<Import>
<Namespace>System</Namespace>
</Import>
</Imports>
<Declarations>
<Literal Editable="true">
<ID>argument</ID>
<ToolTip>
</ToolTip>
<Default>argument</Default>
<Function>
</Function>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[if ($selected$ == null)
{
throw new ArgumentNullException("$selected$");
}
$end$]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>