Usted puede casi hacer esto con un fragmento de Visual Studio (es decir, sin ReSharper).
Guarde lo siguiente como un archivo con una extensión .snippet
.
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<Header>
<Title>string format</Title>
<Author>Matthew Strawbridge</Author>
<Description>Wraps the selected text with string.Format</Description>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>variable</ID>
<Default>value</Default>
</Literal>
</Declarations>
<Code Language="CSharp">
<![CDATA[string.Format($selected$, $variable$);]]>
</Code>
</Snippet>
</CodeSnippet>
A continuación, puede cargar a través de Herramientas | Administrador de fragmentos de código | Importe.
Una vez que el fragmento está disponible, puede escribir
var message = "Hello {0}"
pero usted tiene que seleccionar la cadena y luego presione Ctrl KCtrlS y seleccione el nombre de fragmento apliquelo. Esto generaría
var message = string.Format("Hello {0}", value);
con la parte value
seleccionado para la edición.
Editar: También hay un Snippet Designer extension que facilita el trabajo con fragmentos.
En lugar de escribir '{0}', simplemente use 'alt + enter' y seleccione la opción R # de' Agregar nuevo elemento de formato y argumento apropiado'. –