Quick code commenting and uncommenting using Visual Studio

Quick code commenting and uncommenting using Visual Studio

Rate This
  • Comments 4
Yesterday, I was talking with one of the folks here and I learned something about Visual Studio.  We were looking at some code and he selected a line, clicked a button, on the toolbar, and the line was commented out.  I asked him what he just did and he introduced me to the handy comment / uncomment buttons.  For years, I've been a C/C++/C# multi-line comment person, manually adding /* and */ around any code I wanted to temporarily remove.  While that is a fast / easy way to comment out a block of code, this is even easier, especially when I discover that I already have a multi-line comment block within the code I wish to disable.  For languages which do not support multi-line comments, this saves a lot of time.

To illustrate this feature, I will use the following simple method:
protected override void OnPaint(PaintEventArgs e)
{
    Graphics g = e.Graphics;
    Single x = 0f;
    Single y = 0f;

    String message = ".NET Compact Framework";
    SizeF msgSize = g.MeasureString(message, this.Font);
    x = (Single)(Screen.PrimaryScreen.Bounds.Width / 2) -
          (msgSize.Width / 2);
    y = (Single)(Screen.PrimaryScreen.Bounds.Height / 2) -
          (msgSize.Height / 2);

    g.DrawString(message,
                 this.Font,
                 new SolidBrush(Color.Blue),
                 x, y);
}


Commenting
The above code centers a string message in a Form's OnPaint method.  Let's comment out the portion that calculates the string position.

  1. Highlight the following lines:
    SizeF msgSize = g.MeasureString(message, this.Font);
    x = (Single)(Screen.PrimaryScreen.Bounds.Width / 2) -
          (msgSize.Width / 2);
    y = (Single)(Screen.PrimaryScreen.Bounds.Height / 2) -
          (msgSize.Height / 2);
  2. On the text editor toolbar, click the Comment button (it's the one with the horizontal black and cyan lines)
    Alternately, you can use the keyboard shortcut (Ctrl+K followed by Ctrl+C)

The method now looks like this:
protected override void OnPaint(PaintEventArgs e)
{
    Graphics g = e.Graphics;
    Single x = 0f;
    Single y = 0f;

    String message ".NET Compact Framework";
    //SizeF msgSize = g.MeasureString(message, this.Font);
    //x = (Single)(Screen.PrimaryScreen.Bounds.Width / 2) -
    //      (msgSize.Width / 2);
    //y = (Single)(Screen.PrimaryScreen.Bounds.Height / 2) -
    //      (msgSize.Height / 2);

    g.DrawString(message,
                 this.Font,
                 new SolidBrush(Color.Blue),
                 x, y);
}


Uncommenting
Now, let's uncomment the code that centers the message horizontally (leaving it at the top of the form).

  1. Highlight the following lines:
    //SizeF msgSize = g.MeasureString(message, this.Font);
    //x = (Single)(Screen.PrimaryScreen.Bounds.Width / 2) -
    //      (msgSize.Width / 2));
  2. On the text editor toolbar, click the Uncomment button (it's the one with the horizontal black and cyan lines, with a blue reverse arrow)
    Alternately, you can use the keyboard shortcut (Ctrl+K followed by Ctrl+U)

The method now looks like this:
protected override void OnPaint(PaintEventArgs e)
{
    Graphics g = e.Graphics;
    Single x = 0f;
    Single y = 0f;

    String message ".NET Compact Framework";
    SizeF msgSize = g.MeasureString(message, this.Font);
    x = (Single)(Screen.PrimaryScreen.Bounds.Width / 2) -
          (msgSize.Width / 2));
    //y = (Single)(Screen.PrimaryScreen.Bounds.Height / 2) -
    //      (msgSize.Height / 2));

    g.DrawString(message,
                 this.Font,
                 new SolidBrush(Color.Blue),
                 x, y);
}


Enjoy!
-- DK

Disclaimer(s):
This posting is provided "AS IS" with no warranties, and confers no rights.

  • Every now and then I learn a control-k, control-??? shortcut that just blows my mind... and this was one of them. Now to find a list of all such shortcuts to save my time in future of going to the toolbar for common function.
  • This is classic! I'm sure the Ctrl+K, Ctrl+C/U is my most used key chord. That and Ctrl+K, Ctrl+K (toggle bookmarks).

  • http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxurfkeyboardenvironmentoptionsdialogbox.asp

    And my favorite is Ctrl+I (incremental search)
  • One of my favorites is Ctrl-M, Ctrl-O to collapse outlining code and Ctrl-M Ctrl-M to expand a single outlining. Also try selecting some code then using Ctrl-K Ctrl-F to format the code with the appropriate tabs etc.
Page 1 of 1 (4 items)