7

Right now when I want to use the cw snippet (Code snippet for Console.WriteLn). I am typing cw, Tab, Tab.

Is this the correct (fastest!) way of doing it? If there wouldd be some way of only having to hit the tab key once or any other key I would be glad to know it.

Micha Wiedenmann
  • 19,979
  • 21
  • 92
  • 137
devoured elysium
  • 101,373
  • 131
  • 340
  • 557
  • 2
    I believe that is the fastest way. The only other way I know of is through the 'Insert Snippet' menu and that is definitely going to be slower. – Stephan May 11 '10 at 15:29
  • Cant say I know of a faster way on the basis that you just informed me of the existance of it! +1 cheers :) – Matt May 11 '10 at 15:31
  • 1
    Yes, and some are very nice. For example, try "for" + tab + tab. It will create a for loop. Then you can keep tabbing through fields to replace their values. Once you're done, press enter and you're ready to enter code. Similar with foreach and others. – Nelson Rothermel May 11 '10 at 15:45
  • Sweet, some reading is deffinately in order after work! You may have just shaved days from my life which would otherwise be occupied with writing loops and repetitve code! :) – Matt May 11 '10 at 15:55
  • It can definitely save time, but for some reason I keep forgetting to use them until after I wrote something manually. Also, I haven't done it myself, but you can create your own code snippets. – Nelson Rothermel May 11 '10 at 18:08

5 Answers5

6

That is the fastest way. Note that the first tab is just to get rid of the IntelliSense tooltip. The second tab is the one that actually does the work. In other words, you can do cw + esc/tab/enter + tab or even c + esc + w + tab. Or you can even type cw, go somewhere else, click right after the cw then tab and it will auto complete.

That could be annoying if you do something like var cw tab.

Edit: Once you have used "cw", you can then do it a bit faster by just typing c + tab + tab. Since you last used "cw", the c will select "cw" from IntelliSense, the first tab will insert it, and the second tab will auto complete.

Nelson Rothermel
  • 9,436
  • 8
  • 62
  • 81
1

AFAIK there's no faster way of doing this (but there's a slower one :) ):

http://msdn.microsoft.com/en-us/library/z4c5cc9b(VS.80).aspx

mamoo
  • 8,156
  • 2
  • 28
  • 38
0

There IS a faster way:

The fastest way is q + Tab. I'm using it for my logging.

3 steps:

  • Create a new snippet file for q or use c+w (and skip this step)
    • C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Snippets\1031\Visual C#
  • Go to options → Text-Editors → C# → IntelliSense and disable completion after 1 character
  • Enjoy!

Hope it works for you. Definitely works for me with VS 2010 for C#.

Bitterblue
  • 13,162
  • 17
  • 86
  • 124
0

With ReSharper it is cw,tab

THX-1138
  • 21,316
  • 26
  • 96
  • 160
0

Like Nelson mentioned the 1st tab is really just an escape action in this case. But I do know a way to cut down 1 keystroke. Save the following as "c.snippet" and drop it in your "..\< myDocs >\< VS20XX >\Code Snippets\Visual C#\My Code Snippets" directory:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>c</Title>
            <Shortcut>c</Shortcut>
            <Description>Code snippet for Console.WriteLine</Description>           
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal Editable="false">
                    <ID>SystemConsole</ID>
                    <Function>SimpleTypeName(global::System.Console)</Function>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[$SystemConsole$.WriteLine($end$);]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

Now you just have to type c, tab, tab !!

Sorax
  • 2,205
  • 13
  • 14
  • I have other things that start with c, I dunno if that is not sometimes going to choose the others over this one. – devoured elysium May 14 '10 at 00:28
  • Change the value of the element to any letter that is unused and you'll be able to call the snippet with that letter. Check out the following link if you have any trouble getting the snippet to show in Intellisense: http://msdn.microsoft.com/en-us/library/ms165392%28v=VS.80%29.aspx – Sorax May 14 '10 at 01:16