visual studio snippets snippet programas functions fragmentos create crear codigos codigo code c# visual-studio-2010 code-snippets

c# - programas - snippets visual studio 2017



¿Cómo crear un tipo de fragmento "envolvente con" en Visual Studio 2010? (4)

Aparte de las respuestas útiles anteriores, aquí está la referencia de esquema de fragmentos de código , que es útil para determinar los valores válidos para los elementos de los fragmentos.

¿Hay alguna forma de crear un fragmento de "envolvente con" en visual studio 2010? Sé cómo crear un tipo de fragmento de reemplazo. Un entorno simple con fragmento podría rodear un bloque de texto con un hipervínculo asp :. Similar a la forma en que los fragmentos "envolventes con" predeterminados pueden rodear un bloque de código con un panel asp :.


Resulta que hay algunos ID predefinidos que no están bien documentados. Específicamente para los fragmentos de tipo SurroundWith , hay una ID $ selected $ . Entonces, por ejemplo, el código para el fragmento #if es:

... <Code Language="csharp"> <![CDATA[#if $expression$ $selected$ $end$ #endif]]> </Code> ...

El $ end $ ID indica dónde colocar el cursor cuando se completa la función Surround. Eso es todo lo que hay que hacer. Por supuesto, recuerda incluir SurroundsWith como SnippetType

Para obtener más ejemplos, intente echar un vistazo a los fragmentos predefinidos en C: / Archivos de programa / Microsoft Visual Studio 10.0 // Snippets / 1033 /.


Un ejemplo y algunos consejos (basados ​​en las respuestas anteriores) para VS2017:

El ejemplo es para un fragmento XML, pero supongo que esto se aplicará más o menos a cualquier idioma.

  1. Pegue el siguiente código en un archivo y guárdelo en cualquier lugar como example.snippet
  2. desde VS do Tools-> Code Snippet Manager, selecciona Language of XML y luego My XML Snippets
  3. Haga clic en Importar y seleccione el example.snippet.
  4. Haga clic en Finalizar y Aceptar
  5. En este punto reinicié VS, pero tales medidas draconianas podrían no ser necesarias.
  6. En un archivo XML, seleccione el texto que desea rodear con para tags.
  7. Ctrl + K, Ctrl + S, selecciona My XML Snippets y luego "Example of a SurroundWith Snippet".

Se colocará una etiqueta <para> antes del texto y </ para> después.

Si incluye una nueva línea final, obtendrá una línea en blanco adicional después del texto y el texto que sigue a la etiqueta final aparecerá en la misma línea que la etiqueta final. Tiene sentido si lo piensas.

Si selecciona solo una parte del texto en una línea, puede obtener o no lo que está esperando. El fragmento podría necesitar ajustes.

<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Example of a SurroundsWith snippet</Title> <Shortcut>shortcutsdontwork</Shortcut> <Description> complete example of SurroundsWith will put para tag on the line above selected text and /para end tag on the line below selected text will positon the cursor immediately after the closing angle bracket of the end tag </Description> <Author>mikedamay - TheDisappointedProgrammer</Author> <SnippetTypes> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Code Language="XML"> <![CDATA[<para> $selected$ </para>$end$]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>

Restringiré mis comentarios editoriales sobre el comportamiento de los fragmentos de código en VS2017 a decir que la implementación es inusual para el equipo moderno de herramientas de Microsoft. En particular, tenga cuidado con las afirmaciones sobre lo que hacen los accesos directos. Por lo que puedo ver, no hacen nada útil.