Microsoft is currently developing a new extension model for Visual Studio, its IDE running on Windows to encode everything from desktop applications to cloud hosted microservices. Extensions are an essential part of any IDE, both because of their external integration and because of some specialized features that could slow down the environment if they were built into it. The same is true of Visual Studio extensions, but although they are very popular, they also have their dark side.
The problem with extensions
Leslie Richardson, Program Manager, has written that overall, extensions are hard to write. Moreover, inconsistent APIs, overwhelming architecture, and asking the team members how to implement a basic command are frequent feedbacks from developers who work with extensions.
Worse still, some extensions have no restrictions on how they affect IDE data. So they can have a bad impact on Visual Studio if they break down in some way (crash or error). So Microsoft is working on a new extension model to solve these problems and more.
There is only a small problem with creating a new model: isn't it better to just use VSCode, which has many more extensions that probably work better too?
When it comes to VSCode, Microsoft Marketplace currently has 21,755 extensions, more than 5 times more than for Visual Studio. The most popular extension has been downloaded over 26 million times. This data makes Visual Studio look like a dwarf in VSCode.
In the new model, Visual Studio extensions are to work outside the main process, which will provide isolation between what is happening inside the IDE and what is happening in the extensions. However, Richardson ensures that the novelty will retain the power of the previous system and its UI adaptability options. The new model, which will work "out of process", also provides an opportunity to remodel the Visual Studio API.
Overall, the goal here is to make writing extensions simpler, with a more consistent and easier to discover API and documentation that is constantly updated.
Microsoft also promises that extensions will be available both locally and remotely, so that they will work properly in a cloud hosted GitHub Codespaces environment. Richardson also points here to a new asynchronous API that she believes will be better suited for external development environments.
The plan is generally still in its infancy, and Richardson encourages developers to complete a survey that examines developers' preferences for extensions. It also points out that the good thing about bringing a new idea to life will be long, and all this will of course require a lot of work.