visual-studio-codeweb-frameworks

Are there apps built on top of VSCode open source base?


VSCode has a very customizable UI with Activity Bar, Sidebar, Tabs, Status Bar etc (https://code.visualstudio.com/docs/getstarted/userinterface); customizable via extensions and seems to have been developed without any of the common web frameworks (https://github.com/microsoft/vscode/issues/99845).

It is well maintained, works in different OSes and has automatic updates.

Even if we remove the code-editor part, there is a lot of work in that.

This makes me wonder if it is possible to write a totally different app (not a code editor) on top of VSCode. For example a Slack-like messaging app, an Obsidian-like knowledge base app, etc.

Is it possible? Are there apps built on top of this code? Have I missed an important point that makes this idea unviable?

EDIT:

Some have pointed a very valid point. Some of what I mentioned here as VSCode features are really Electron features that VSCode inherits. Having developed an Electron app (5yrs ago) I see many things in VSCode that are not in Electron (but maybe my concept of Electron is wrong).

I want to emphasize that VSCode UI (bars, tabs, etc) + its extensibility seems to be a valid development framework. And I am ignorant of anything in this sense.

EDIT (jan/2023): I guess we can add StackBlitz as a product that just did that.


Solution

  • I think your question is very valid and I was wondering the same thing, so thanks for asking it.

    One thing that VS Code gives you that Electron doesn't is a distribution model - the marketplace and how new versions of your app can be detected and downloaded automatically etc. This is a big deal.

    I think the disadvantages are that a very fancy UX may not be possible directly - but you have to "work around" by putting HTML within a Web View perhaps. This is just my guess and I haven't directly tried it.

    To answer your question - the only one I am aware of is Thunder Client extension - so think of Postman - but as a VS Code plugin.