2012-05-03 19 views
2

MVCビューにカスタムHTMLコードスニペットを挿入すると、値の入力を開始するときにリテラル置換の編集が終了します。Visual Studioコードスニペットリテラル置換が途中で終了する

何か不足していますか?

私のリテラルは、プロパティ名を置き換えるために2回使用されています<![CDATA[]]>に対する

<?xml version="1.0" encoding="utf-8"?> 
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <Header> 
     <Title>MVC Field Pair</Title> 
     <Shortcut>mvcfieldpair</Shortcut> 
     <Description>Inserts an MVC label/input pair</Description> 
     <SnippetTypes> 
      <SnippetType>Expansion</SnippetType> 
     </SnippetTypes> 
    </Header> 
    <Snippet> 
     <Declarations> 
      <Literal Editable="true"> 
       <ID>property</ID> 
       <ToolTip>Model property</ToolTip> 
       <Default>myProperty</Default> 
      </Literal> 
     </Declarations> 
     <Code Language="html"> 
      <![CDATA[ 
       <li> 
        <%= Html.LabelFor(m => m$property$) %> 
        <%= Html.TextBoxFor(m => m$property$) %> 
       </li> 
      $end$]]> 
     </Code> 
    </Snippet> 
</CodeSnippet> 
+0

XMLは[schema](http://msdn.microsoft.com/en-us/library/ms171418.aspx)で有効です。私は組み込みのスニペットを使って練習しました。これはリテラルを複数回も使用していますが、C#、XSLTなどのものです。 '.PropertyName'と入力してIntelliSenseが異常終了することはありますか? – callovarne

答えて

3

位置が重要です。

<CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <Header> 
     <Title>MVC Field Pair</Title> 
     <Shortcut>mvcfieldpair</Shortcut> 
     <Description>Inserts an MVC label/input pair</Description> 
     <SnippetTypes> 
      <SnippetType>Expansion</SnippetType> 
     </SnippetTypes> 
    </Header> 
    <Snippet> 
     <Declarations> 
      <Literal> 
       <ID>property</ID> 
       <ToolTip>Model property</ToolTip> 
       <Default>myProperty</Default> 
      </Literal> 
     </Declarations> 
     <Code Language="html"><![CDATA[<li> 
    <%= Html.LabelFor(m => m$property$) %> 
    <%= Html.TextBoxFor(m => m$property$) %> 
</li>$end$]]></Code> 
    </Snippet> 
</CodeSnippet> 
関連する問題