Visual Studio extensibility is better with IntelliCode

Mads Kristensen

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.

9 comments

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

  • Luca Ugo 0

    Can I install IntelliCode on Visual Studio 2019 Community?

    • Mads KristensenMicrosoft employee 0

      Yes

  • Kurt Pruenner 0

    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…

  • Morten 0

    Does it work with VB.Net?

    • Mads KristensenMicrosoft employee 0

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

  • shahram daliri 0

    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/

  • Hitesh Davey 0

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

  • Vincent Thorn 0

    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!)

Feedback usabilla icon