Visual Studio's AI-Powered Assistant, IntelliCode, Gets Smarter

Visual Studio's IntelliCode has gotten smarter -- using artificial intelligence to provide better code completion suggestions -- and more robust, now supporting more programming languages.

The code-completion enhancement comes with the ability to examine and learn from the code generated by a developer in order to provide "smarter" lists of the most probable APIs intended to be used as the developer types.

IntelliCode, the AI-powered upgrade of Visual Studio's IntelliSense, previously used a machine learning model to examine GitHub projects to determine the best completion suggestions, along with the context of the current project.

"Until now, IntelliCode's recommendations have been based on learning patterns from thousands of open source GitHub repos," said Microsoft's Mark Wilson-Thomas, senior program manager, in a blog post yesterday (Dec. 5). "But what if you're using code that isn't in that set of repos? Perhaps you use a lot of internal utility and base class libraries, or domain-specific libraries that aren't commonly used in open source code, and would like to see IntelliCode recommendations for them too? If you're using C#, you can now have IntelliCode learn patterns and make recommendations based on your own code!"

Visual Studio IntelliCode
[Click on image for larger view.] Visual Studio IntelliCode (source: Microsoft).

Also, while that new functionality pertains only to C#, IntelliCode -- first introduced at Microsoft's Build conference in May -- now supports more programming languages.

The tool preview, which comes in a Visual Studio Marketplace extension, now supports C++ and XAML.

What's more, IntelliCode's counterpart extension for the open source, cross-platform Visual Studio Code editor now supports TypeScript/JavaScript and Java, along with the previous support for Python.

Microsoft's Sana Ajani provided more details on the VS Code extension's new support of TypeScript/JavaScript in a separate post.

"IntelliCode will also assist you across different JavaScript libraries, whether you're writing client-side code with libraries like React, Angular, or Vue, or doing server-side development with Node.js and Express," explained Ajani.

Meanwhile, Nick Uhlenhuth provides more details on the C++ functionality coming to Visual Studio 2019.

"IntelliCode uses machine learning to train over thousands of real-world projects including open-source projects on GitHub," Uhlenhuth said. "As such, IntelliCode will be most helpful when using common libraries such as STL. Based on this training, IntelliCode saves your time by putting what you're most likely to use at the top of your IntelliSense completion list."

At the time of this writing, the Visual Studio IntelliCode extension had been installed more than 129,000 times, earning a 4.6 rating (0-5 scale) from 25 developer reviewers, while the VS Code extension is more popular, with more than 496,000 installations and a 4.8 rating from 10 reviewers.

While some developers welcomed the new languages joining the IntelliCode camp, others wanted more, with multiple calls for VB.NET support, along with one for ASM (x86 and amd64). Microsoft replied that the tool is still in preview and feature suggestions can be entered at the GitHub issues site for the project.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


  • New .NET 9 Templates for Blazor Hybrid, .NET MAUI

    Microsoft's fifth preview of .NET 9 nods at AI development while also introducing new templates for some of the more popular project types, including Blazor Hybrid and .NET MAUI.

  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

  • Nearest Centroid Classification for Numeric Data Using C#

    Here's a complete end-to-end demo of what Dr. James McCaffrey of Microsoft Research says is arguably the simplest possible classification technique.

  • .NET MAUI in VS Code Goes GA

    Visual Studio Code's .NET MAUI workload, which evolves the former Xamarin.Forms mobile-centric framework by adding support for creating desktop applications, has reached general availability.

  • Visual Studio Devs Quick to Sound Off on Automatic Updates: 'Please No'

    A five-year-old Visual Studio feature request for automatic IDE updates is finally getting enacted by Microsoft amid a lot of initial developer pushback, seemingly misplaced.

Subscribe on YouTube