Microsoft has invested heavily in developer solutions, adding enhancements to Visual Studio like GitHub Codespaces, Git Integrations, and IntelliCode Team Completions. Now, the company is planning on creating a new extensibility model for Visual Studio extensions.
According to Microsoft, this new model will make extensions more reliable, easier to write, and supported locally and in the cloud.
The company explained that one of the problems with extensions today is that in-proc extensions have minimal restrictions over how they can influence the IDE, which sometimes leads to them corrupting Visual Studio if the extension crashes. One of the biggest changes Microsoft will make is to make extensions out-of-proc, ensuring increased isolation between internal and external APIs and leading to fewer crashes.
Extensions will also now be easier to write. “Inconsistent APIs, overwhelming architecture, and having to ask your teammates how to implement what should be a basic command are common feedback items from extension writers,” Leslie Richardson, program manager of Visual Studio Debugging & Diagnostics at Microsoft, wrote in a post. Microsoft’s goal is to make extensions easier to write by providing more uniform, discoverable APIs and continually updated documentation.
The new extensibility model will also make extensions available both locally and remotely. According to Microsoft, part of GitHub Codespaces’ appeal is the ability to have a customized development environment that is accessible remotely. But many developers find that a customized environment isn’t complete without access to extensions. In the current model, there is unrestricted access to the IDE and a lack of asynchronous APIs, which don’t offer a “seamless, crash-less, and responsive client/server experience for Codespaces,” Richardson wrote.
In addition to the new model for extensions, Microsoft announced the October 2020 release of the Python Extension for Visual Studio Code.
This release will introduce Debugpy 1.0. This solution provides a number of features to help developers understand bugs, errors, and unexpected behaviors in code.
Other new enhancements include fixing an error where the export button in the Interactive Window did nothing and not opting users out of the insiders program if they have a stable version installed.