Any plans to support Extensions and UI run in the browser like VS Code?

I have two questions acctually:

  1. I need to run theia in the browser without local or remote Nodejs enviroments, and all the services(like fileService) is rewrited to http request. Is there any best practise or examples?
  2. Is theia enable to support run VS Code extension in the browser?

Hi @kevazhang,

I’ll answer your second question first, since its easier to answer: Since version 1.24, we support vscode-web-extensions, which means we are able to run extensions exclusively in the web (assuming the extension itself supports that)

For the other question, that’s a bit more difficult. The issue isn’t so much the http requests (which are far and few in between) but rather the web socket connection which we use to communicate with the backend. A lot of service implementations require talking to the backend (starting with file stuff, but there’s also all the OS related things, terminals, debugging, etc.), which would require a lot of work to refactor. It’s certainly possible to have a Theia server which actually serves only the index.html and bundle.js without accepting any socket requests, but it’s a lot of work.

Perhaps @paul-marechal has a better idea on what would be required for that. Any additions from your side, Paul?

That sums it up.

Replacing all the current backend services might be time expensive and error prone.

Maybe it will be easier in the future after some changes are made to the framework.

I have read some thiea source code, and I found that all the services which are created by JSONRpcProxyFactory.createProxy in frontend, which are needed to be rebind to custom services. But we donnot need debug/terminal module, so we just need to rebind filesystem and other OS related things.