Microsoft reckons devs would like an AI Clippy to help them write code
Plus: New tools for programming with your buddies
Build Microsoft has used its Build developer shindig in Seattle to rip the wrapping off IntelliCode, an AI-assisted development for Visual Studio.
IntelliCode, which Microsoft described as a "first experimental preview", is the name for a range of AI-enabled enhancements planned for its venerable but bloated development environment.
Assisted IntelliSense is a code completion feature, prompting a coder to insert likely statement completions, but shows top recommendations based on 2,000 open-source projects on GitHub to second guess what you are likely to want. IntelliCode suggestions are prefixed with a star. It can also suggest likely overloads based on the coding context.
AI-powered IntelliSense code completion
The system will also infer your coding style as you work, and then help you to remain consistent. You can view and edit its rules via a generated
When you commit or review your work, a code scan will attempt to find "irregular patterns, missed refactorings, variable misuse issues, and more". According to Microsoft, some bugs will be spotted that normal static analysis will miss.
The company said in its FAQ: "No user-defined code is sent to Microsoft, but we collect information about your use of the IntelliCode results."
Microsoft is not committing to a release date or specific set of features for the technology, but said it is an "early view of some of the scenarios where we think AI could assist developers". That said, there is an IntelliCode preview extension that developers can try out today.
Visual Studio Live Share
In another show at the event, Microsoft also released a public preview of Visual Studio Live Share, which allows up to six developers to work on the same project simultaneously. This is not just a matter of access to source code, but rather a specialised remote session into the host developer's machine.
Participants can edit code, open different files in the solution, and open a remote-terminal session. Read-only participants are also possible. Guests can roam as they like through the code, or follow the cursor of another coder as they edit.
The system can also redirect a web application running on the host's machine so that guests can view it in their own web browser. The supported coding tools are Visual Studio 2017 on Windows, and Visual Studio Code on Windows, Mac and Linux. Since it is a remote session, there is no need for guests to install the same libraries or SDKs as the host.
The primary purpose of Live Share is for troubleshooting problems, but you can also use it for pair programming, where two developers watch one another code in order to spot issues or make suggestions in real time.
Live Share is based on a peer-to-peer connection, though by default it uses an Azure relay to set up an encrypted connection. No code is uploaded to Azure.
There are some limitations concerning which combinations of tools and programming languages work with Live Share, but even in preview the list of what works is extensive. The intention, Microsoft said, is to support "a diverse landscape of languages and application platforms". Check the documentation for details.
One tool not currently supported is Visual Studio for Mac, the integrated development environment that Microsoft acquired with Xamarin, though the company hopes to add this in future. Despite using a similar name, Visual Studio for Mac and the cross-platform Visual Studio Code are entirely separate products. ®