News

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

Featured

  • Copilot AI Enhanced in Flurry of Visual Studio v17.12 Previews

    Since announcing Visual Studio 2022 v17.11 in August, Microsoft's dev team has been busy shipping a series of AI-heavy previews for the next edition.

  • How Visual Studio IntelliCode Helped Shape GitHub Copilot and Modern AI

    Microsoft has baked advanced GitHub Copilot tech into the latest edition of Visual Studio, but the aging IntelliCode feature of the IDE actually helped shape the modern experience.

  • Winnow Classification Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the Winnow classification technique. Winnow classification is used for a very specific scenario where the target variable to predict is binary and all the predictor variables are also binary.

  • VS Code Is Latest Microsoft Dev Tooling Weaponized by Threat Actors

    Cybersecurity threat actors keep leveraging Microsoft development tooling as attack vectors, with the new one coming via malware phishing.

Subscribe on YouTube