|Visual Studio Python Gets AI-Based IntelliCode|
|Written by Kay Ewbank|
|Monday, 30 July 2018|
Microsoft is introducing support for Python in the IntelliCode extension for Visual Studio Code, as well as new improvements in editing for Python developers in Visual Studio Code.
IntelliCode is a set of AI-assisted capabilities that aim to improve developer productivity by suggesting potential completions for code as you type in Visual Studio. The newly expanded version adds suggestions for Python developers using Visual Studio Code. The suggestions are based on machine learning trained on over 2,000 open-source repos. The repos ranged from machine learning frameworks, through web frameworks, to general purpose scripting.
Visual Studio IntelliCode was announced as an experimental extension for Visual Studio 2017 earlier this year. The extension is designed to improve developer productivity with features like contextual IntelliSense, inference and enforcement for code styles, and focused reviews for your pull requests. Contextual IntelliSense is the term Microsoft uses for the use of machine learning to work out which code completion is most likely to be the one you need based on the current code context. The most likely items appear with stars beside them in the completion list, so you can select from the top items rather than having to search through the completion list
The current version of IntelliCode is based on an Azure machine learning model that offers better code completion and automatic code formatting to match your usual style.
Alongside the Python IntelliCode support, Microsoft has also announced the Microsoft Python Language Server. This was introduced in the July 2018 release of the Python extension for Visual Studio Code. Language servers are standalone programs that provide language-specific tools for Visual Studio and communicate with development tools using JSON for inter-process communication.
All of the analysis and "smart" operations are handled by the server, allowing the editor to focus on presentation and interaction with the user. The Python Language Server takes Python code and provides the information the editor needs for tooltips, completions, finding definitions and references, and global variable renaming. It uses open-source typeshed definitions to provide completions for types where they can’t be statically inferred.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Monday, 30 July 2018 )|