Visual Studio 2015 Feature Series: #3 Code Editor Enhancements

Before reading this article, I highly recommend reading the following previous parts of the series:


An IDE’s Code Editor is every developer’s playground. Being a developer requires a lot of seeing, thinking and coding of course. This is the place where most of our time is spent in various activities. I learned that small things make big difference. This article will explain some of the code editor enhancements made in Visual Studio 2015 to improve developer’s productivity; which will help the developers to code better, to see better and even have better touch support if you are working on a touch enabled device.

Colored Tool Tips

Tool tip is a useful feature when a developer want to look at preview of a code segment; by placing mouse pointer over the collapsed construct such as class definitions, structure definitions, and method bodies. Visual Studio 2015 enhances the too tip view by showing colors as per the usage of code, keywords and types, etc.

If you hover mouse on a type and observe the preview generated then you will notice that the code is hard to read and figure out the type, keywords and code, etc. are in plain black color as in the following Figure 1.

Plain Black Tool tip preview in Visual Studio 2013
Figure 1: Plain Black Tool tip preview in Visual Studio 2013

This has served the purpose for many years but it doesn’t give proper visual clues on types, keywords and code used. Now let’s have a look at Visual Studio 2015 Tool tip as in the following Figure-2:

Colored Tool tip preview in Visual Studio 2015
Figure 2: Colored Tool tip preview in Visual Studio 2015

Light Bulb and Quick Actions

Writing code is not easy and at times, some small productivity enhancement tips have big impact and give you some free time and take you away from thinking through of everything in terms of solving every error. What if Visual Studio code editor can itself suggest some actions; to resolve the issue?

For instance, have a look at the following Figure-3 in which Visual Studio 2013 is showing an error when used ITest; which requires to explore some possible options to fix the issue on your own.

Visual Studio 2013
Figure 3: Visual Studio 2013

Now, consider the same scenario in Visual Studio 2015, when you hover mouse on ITest then you will see a “Light Bulb” which will lead you to possible solutions, and this is really productive way of programming.

Visual Studio 2015
Figure 4: Visual Studio 2015, Light Bulb

Removing Un-used Using

One of the best coding practice is to remove all un-used using statements from your code. The easiest way for a developer has always been to use the option “Organize Usings” because Visual Studio code editor was not telling you while coding; that which using is not being used. i.e. as the following Figure-5 shows that all using are being used until a developer try to invoke “Organize Usings”.

using in Visual Studio 2013
Figure 5: using in Visual Studio 2013

Visual Studio 2015 made this using business very institutive and developer friendly, so as soon as you start adding using statements you will know immediately if that is being used or not and you can remove those very quickly with fewer steps in comparison to prior Visual Studio code editors.

Greyed out using statements in Visual Studio 2015
Figure 6: Greyed out using statements in Visual Studio 2015

Now, it’s also easy to remove un-used using statements. Just hover mouse on using statements and click on the “Light Bulb”.

Using Light Bulb to remove un-used using statements
Figure 7: Using Light Bulb to remove un-used using statements

Inline Rename

I have personally found that “Rename” is the most widely used Refactoring option as many times you want to rename something in your code either due to self-realization or to address a code reviewer comment.

Before Visual Studio 2015, the “Rename Workflow” was quite tedious and lengthy workflow, let’s quickly have a look via Visual Studio 2013.

Let’s say in the following code; we want to rename msg variable to message and preview the changes before it’s applied on the code.

  1. static void Main(string[] args)  
  2. {  
  3.    string msg = "Hello from C# Console App";  
  4.    Console.WriteLine(msg);   
  5. }  
In Visual Studio 2013, you need to hover on msg, right-click and select Refactor  Rename then a dialog with pop-up will be visible as in the following Figure-8:

Visual Studio 2013 Refactor
Figure 8: Visual Studio 2013 Refactor -> Rename

Now when you proceed by clicking on OK button, the workflow continues and you will see a screen as in the following Figure-9, highlighting all potential changes to be made if you choose to Apply rename on those.

Visual Studio 2013 Preview
Figure 9: Visual Studio 2013 Preview Changes (Rename)

After changes are applied across the code, the code will now appear as in the following code:
  1. class Program  
  2. {  
  3.    static void Main(string[] args)  
  4.    {  
  6.       // msg Renamed to message  
  7.       string message = "Hello from C# Console App";  
  8.       Console.WriteLine(message);   
  9.    }  
  10. }  
Now let’s review this Rename process through Visual Studio 2015, in Visual Studio 2015 Rename option is available right away in the context menu as in the following Figure 10:

Rename from context menu
Figure 10: Rename from context menu

Now when you click on the Rename it will highlight all the msg instances in code as in the following Figure-11:

Preview of rename in action
Figure 11: Preview of rename in action

Now click on msg (First green selected instance) and start renaming it to message for instance as in the following Figure-12:

Inlined Rename in action
Figure 12: Inlined Rename in action

If you want to proceed with the code changes then click “Apply” on the dialog shown in code editor window and now the code will be as in the following:
  1. class Program  
  2. {  
  3.     static void Main(string[] args)  
  4.     {  
  6.   // msg Renamed to message  
  7.  string message = "Hello from C# Console App";  
  8.         Console.WriteLine(message);              
  9.     }  
  10. }  
Touch Gestures

Touch Gestures is a powerful feature and can come handy occasionally; especially when you are either doing some R&D or reviewing a code or thinking of code enhancements using a touch-enabled device.
If you are not coding and want to read through code and performs some basic operations, then the following touch gestures are supported by Visual Studio 2015 on a touch-enabled device.
  • Pinch and zoom; to zoom in and out with thumb and index fingers.
  • Single tap the margin of the code editor to select the line of code where you tapped.
  • Double-tap a word or an identifier to select it.
  • Press and hold on empty screen area to open the context menu.
  • Tap and hold anywhere on the code editor’s surface to scroll up and down.