Questions about Theia (2)

First of all how many languages does theia support by default and
How to make an extension that runs on pc as an application like the theia electron example

[original thread by Arijit265]


I want to make an executable file of my extension. I want a simple extension like a welcome page. How to do so??


And for knowledge how many languages does theia supoort if I use @theia languages thing in package.json

Hi @arijit265 . FYI most Theia-specific language extensions (@theia/java, @theia/python, …) may be on the way out, in favor of using equivalent VS Code extensions. So in theory you could say that Theia supports almost the same languages as VS Code, minus a small % of these that do not yet run well in Theia (e.g. docker VS Code extension)

You can follow the following PR to see an example of how a Theia application can be made into an install package that includes an executable to start the application, once installed:

We are in the process of making this example use VS Code language extensions instead of the @theia/*


So basically @theia/languages does not support many languages or any languages or how many like @theia/python type languages can I use like can I use @theia/c++


And how to install vs code extensions in theia ??

If this proposal is accepted ( we will have zero @theia/* language extensions, going forward. Today there are probably a dozen or so.

Check the PR above as an example how to install/use VS Code extensions in Theia. Hint: the URLs of individual extensions are listed in package.json.


Urls in package .json??


I mean how to add them can you give example


Like how to list them


Where to get urls and how to use them can you give example with c++


And what are theia plugins with links given in the cpp docker and whar is their use??


Do they also help in language support??


Btw how many languages are supported by theia electron in theia apps??

@arijit265 you can take a look at an example of an application which makes use of both @theia dependencies and vscode extensions. For example, the theia-java package.json example describes both @theia extensions under dependencies and vscode extensions under theiaPlugins (this is a way for an application to list the plugins for which they want included in their application). In this case, we specify a name and a url for which the plugin can be fetched (we fetch the GitHub releases of the .vsix for the plugin).

In order to include plugins in your extension, you must include the necessary plugin dependencies:

dependencies: {
  "@theia/plugin": "latest",
  "@theia/plugin-ext": "latest",
  "@theia/plugin-ext-vscode": "latest",

And also be sure to call the download:plugins script so your application knows to download the plugins:

yarn theia download:plugins

You can check for a vscode extension’s GitHub releases page and find an appropriate .vsix version if available. In the case of C/C++, you can take a look at vscode-cpptools:

They help with language features, debug functionality and other improvements.