While Theia supports the VS Code extension API (most of it), the Theia plugin API introduces some minor differences. As an example, the plugin functions are “start” and “stop”, while it is “activate” and “deactivate” in VS Code.
As another example, “vscode.commands.registerCommand” expects only an ID, and the command is registered via the package.json, while “theia.commands.registerCommand” expects id and label.
In general you could argue that it is fine that the Theia plugin API is different to VS Code, it could e.g. support more features.
In turn, you could argue that those minor differences just add additional confusion and effort, if they do not provide specific additional value or feature.
If I need to decide as a plugin developer, which API to target, the VS Code extension API has the advantage, that I can target VS Code and Theia, while if I target the Theia extension API, I loose this advantage.
Has there ever been a disucssion arround this, specifically about the question whether the Theia plugin API shall be compatible with the VS Code extension API or not?
[original thread by Jonas Helming]