October 8th, 2019

Visual Studio extensibility is better with IntelliCode

Mads Kristensen
Principal Product Manager

Installing the Visual Studio extension development workload presents you with a choice of optional components. And looking at the component list might leave you rather confused. Because how are various C++ components and the Class Designer especially relevant to writing extension? And where is IntelliCode?

Taking a deeper look at the list we could sensibly remove some components that most extenders are not going to use. We could also add the IntelliCode component which was missing. So, we did in the Visual Studio 2019 v16.3 update, and the result looks like this:

Let’s add IntelliCode

It’s now a much cleaner list and it includes IntelliCode as an optional, but recommended component. So why is it recommended you ask? Let’s first look at what IntelliCode provides us when working with types from the Visual Studio SDK:

Notice how the IntelliSense items starting with a ★ help write the code. That’s IntelliCode providing the guidance when I’m using the Visual Studio SDK. Since the SDK is so huge, it can really make exploring the APIs and choosing the right methods and properties much easier to do by popping the most relevant items to the top of my suggestion list. It has helped me on numerous occasions, so I’m a big fan.

To make IntelliCode aware of the usage patterns of Visual Studio SDK, we trained its machine learning model on a lot of GitHub repositories containing extension code. The result is great guidance from types used from MEF such as IWpfTextView, EnvDTE, and many others.

So, if you are an extension author, do yourself a favor and give IntelliCode a try and let us know how it went in the comments below.

Author

Mads Kristensen
Principal Product Manager

Mads Kristensen is a principal program manager on the Visual Studio team and has published over 150 free Visual Studio extensions. He blogs about anything related to Visual Studio and can often be found hosting various shows on the Visual Studio YouTube channel..

9 comments

Discussion is closed. Login to edit/delete existing comments.

  • Vincent Thorn

    I found IntelliCode same stupid as internal completion service. Sorry, but putting word “intelli” doesn’t make your primitive code more “intelligent”. But when I tried to make my own completion, I stuck with the fact that you CANNOT HAVE OWN COMPLETION AT ALL! (due to completely useless, ugly VS API) See my issue: https://github.com/microsoft/VSSDK-Extensibility-Samples/issues/175 (BTW not a single answer!)

  • Hitesh Davey

    Where is the “Diagnostic” & “Setup” menu option gone from VS dev blogs? It is no more available from the top drop-down menu option

  • shahram daliri

    Hey , I was wondering if I could wear it in this system ?
    Visual Studio 2019 Community
    I ‘ll be in the network . I ‘d appreciate it .https://rayanposhtiban.com/

  • Morten

    Does it work with VB.Net?

    • Mads KristensenMicrosoft employee Author

      Yes, both C# and VB.NET supports the base model containing type information from the Visual Studio SDK.

  • Kurt Pruenner

    Since there’s still people out there (like me) that don’t want to install any unneccessary fluff – could you please make Intellicode an optional feature for all VS workloads? Trying to uninstall this feature that I never wanted totally unneccessarily tries to also remove ASP.Net and .Net desktop development…

  • Luca Ugo

    Can I install IntelliCode on Visual Studio 2019 Community?