Search code examples
visual-studiotext-editor

Visual Studio wrap selection in quotes?


Is there is a way to wrap a selected text block with quotes? In visual studio I have not found a extension or plugin I am just looking for a simple way to do it. Is there a way to add that functionality?


Solution

  • The "Surround with" option is available in Visual Studio also without ReSharper. It doesn't contain the option to wrap in quotes. But it's possible to extend the snippets with custom wrappers. Also with double quotes. To do that:

    1. Click File and then click New, and choose a file type of XML.
    2. On the File menu, click Save <XMLFileName>.
    3. In the Save as box, select All Files (.).
    4. In the File name box, enter a file name with the .snippet file name extension.
    5. Click Save.
    6. Add this code to the file.

    Code

    <CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <Header>
        <Title>doubleQuotes</Title>
        <Author>Microsoft Corporation</Author>
        <Shortcut>"</Shortcut>
        <Description>Wrap in double quotes</Description>
        <SnippetTypes>
          <SnippetType>Expansion</SnippetType>
          <SnippetType>SurroundsWith</SnippetType>
        </SnippetTypes>
      </Header>
      <Snippet>
        <Declarations>
          <Literal>
            <ID>selected</ID>
            <ToolTip>content</ToolTip>
            <Default>content</Default>
          </Literal>
        </Declarations>
        <Code Language="CSharp">"$selected$"</Code>
      </Snippet>
    </CodeSnippet>
    

    Save the file.

    1. Open Tools -> Code Snippets Manager.
    2. In Language section select "Visual C#".
    3. Click Import and browse to the snippet you just created.
    4. Check My Code Snippets and click Finish and then OK.

    To use it: Select text -> right click -> select "Surround with..." -> My Code Snippets -> doubleQuotes

    Alternatively: Select text -> hit Ctrl + K, S -> My Code Snippets -> doubleQuotes

    I got the idea for this solution from this answer where the author shows how to wrap code in custom HTML tags.