2010-01-20 22 views
44

En Visual Studio cuando inserta un fragmento y termina insertando literales, el cursor salta al principio del fragmento.Recortes de código de Visual Studio Cursor

Ahora me gustaría contarle a visual studio a dónde debería ir después el cursor. He buscado en la web y en realidad tengo pocas esperanzas de que esto sea posible.

Para ilustrar esto, supongamos que tengo este fragmento:

<Code Language="csharp" Kind="method body" Delimiter="$"><![CDATA[this.SyncThreadRunInvoke(() => 
      { 

      });]]> 
    </Code> 

Luego, después de la inserción:

this.SyncThreadRunInvoke(() => 
      { 
      []<- I want the cursor here 
      }); 

Respuesta

71

Utilice la variable $ $ final como se muestra en la siguiente "si" fragmento de C#.

<?xml version="1.0" encoding="utf-8" ?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
     <Header> 
      <Title>if</Title> 
      <Shortcut>if</Shortcut> 
      <Description>Code snippet for if statement</Description> 
      <Author>Microsoft Corporation</Author> 
      <SnippetTypes> 
       <SnippetType>Expansion</SnippetType> 
       <SnippetType>SurroundsWith</SnippetType> 
      </SnippetTypes> 
     </Header> 
     <Snippet> 
      <Declarations> 
       <Literal> 
        <ID>expression</ID> 
        <ToolTip>Expression to evaluate</ToolTip> 
        <Default>true</Default> 
       </Literal> 
      </Declarations> 
      <Code Language="csharp"><![CDATA[if ($expression$) 
    { 
     $selected$ $end$ 
    }]]> 
      </Code> 
     </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 
+8

Supongo que tal vez $ end $ thingy sea lo que estás buscando. –

+1

Sí, lo he intentado ahora, es definitivamente $ end $ que desea. Una pequeña advertencia: si está creando un fragmento que rodea el código existente con código nuevo, como llaves o lo que sea, me parece lógico que lo siguiente coloque el cursor * después de * el código rodeado: $ selection $ $ end $ Pero no es así. Coloca el cursor inmediatamente * antes * del código rodeado. –

+0

Sí, eso hizo el truco. Y no estoy rodeando el código, así que no hay problema para mí. ¡Gracias! – Stormenet

Cuestiones relacionadas