Search code examples
visual-studio-2013fully-qualified-naming

Auto qualify name in visual studio 2013? Intellisense?


Is there a way to quickly "Auto qualify" a variable type declaration in Visual Studio 2013? E.g. if I type:

Dim SomeExcel as New Application

is there a way to get the IDE to automatically fill in the namespace? like this:

Dim SomeExcel as New Microsoft.Office.Interop.Excel.Application

The IDE seems to be able to infer the namespace readily enough; if I hover over the type name it can tell me what namespace(s) contain the type. Type namespace is identified by IDE


It would be really useful to me to be able to change an old project from "short names" like Application to fully qualified names like Microsoft.Office.Interop.Excel.Application without having to find each one and type out the whole namespace.

Or, in the event of an ambiguous name, if it would give me the option to pick which namespace and it would fill it in. Similar to how if you use an undefined class it will warn you and give you the options to either automatically add the Imports statement or even create a class stub for you.

Since it will do all that for you automatically, and it will make suggestions and autocomplete methods/properties for an interface instance as you type, I would be surprised if there was not a quick way to have it convert "short names" to fully qualified names, but if there is - I can't seem to find it! I looked through the menu commands, and various right-click menus, and I looked on MSDN but couldn't find anything - but i'm not sure I'm using the right search terms.
Hoping someone with more experience might know how to do this or if this functionality doesn't exist.


Solution

  • No, nothing exists in Visual Studio to do that.

    Doing so also confers no special advantages, as VS will tell you if you have an ambiguous reference automatically and give you the possibilities to resolve it.

    When that happens, just click the icon that appears when you hover over it and select the correct namespace. VS will then qualify it with that namespace.

    Here's an image of the icon:

    icon

    And the resulting menu:

    timer

    Granted, that is for C#, but VB usually works the same way.