Jonas Helming, Maximilian Koegel and Philip Langer co-lead EclipseSource, specializing in consulting and engineering innovative, customized tools and IDEs, with a strong …
Eclipse Theia - FAQ
December 24, 2019 | 6 min ReadIn this article we´ll answer the most frequently asked questions about Eclipse Theia, the open source platform for building web- and cloud-based IDEs and Tools. This article provides an overview, quick answers and references to follow up reads.
What is the Eclipse Theia?
Eclipse Theia is an open source platform for building web- and cloud-based tools and IDEs. Possible use cases range from providing custom language support, DSLs, but also graphical modeling tools and data-centric configuration UIs. Theia provides a workbench, a module system and reusable base features such as a Git integration. Theia-based tools can be deployed remotely and accessed via a browser, or as an alternative, as a desktop Application (via Electron). Theia is based on a modern technology stack, i.e. Typescript, HTML, CSS, the Language Server Protocol (LSP) and Monaco Code editor provided by VS Code. Theia-based tools can be extended with new features via VS Code extensions. Find more details in this introduction of Eclipse Theia. All refer to our article why Eclipse Theia is the Next Generation Eclipse Platform for IDEs and Tools!
What is the Theia IDE?
The Theia IDE is a modern, open-source development environment built on the Theia Platform. It runs seamlessly on both desktop and browser, offering cutting-edge features like code completion, debugging, and Git integration. Its compatibility with VS Code extensions and support for remote development make it a powerful tool for developers. Theia IDE also emphasizes privacy by avoiding telemetry and is easily customizable for various use cases. Learn more in the introduction to Theia IDE.
How to download, install and run Eclipse Theia?
Eclipse Theia is a platform for building web-based tools rather than being a product that can directly be downloaded. However, you can very easily create your own product based on Theia just like any other application based on Node.js. Furthermore, there is a openly available product for software developers based on Theia called Theia IDE. Finally, there are many products that are based on Theia, e.g. the Arduino IDE 2.0.
How to use Eclipse Theia?
The usability concept of Eclipse Theia is very similar to VS Code. It is focussed around a keyboard-friendly command palette. Further, Theia provides basic tool features, such as a file explorer, Git support and a code editor. A more detailed walkthrough of Theia is available in the tutorial on how to use Eclipse Theia.
How to use Git in Eclipse Theia?
The most important Git features are available via a dedicated SCM view and a history view. Additional features can be triggered via the command palette. Finally, as Theia integrates a terminal view, you can use the CLI of Git to trigger any command. Find more information on how to use Git in Theia.
How to install/use VS Code extensions in Theia?
Eclipse Theia allows to host VS Code extensions. This means you can install VS Code extensions from the Theia marketplace (called openVSX) in a Theia-based product if this option is enabled by the creator of the application, e.g. in the Theia IDE. If the standard VS Code extension view is used, please see this documentation on how to install VS Code extensions in Theia. For adopters of Theia, please see this documentation on how to add VS Code extensions to Theia.
How to extend and adapt Eclipse Theia?
Theia provide two extension models: extensions and plugins. Extensions are based on dependency injection and are more powerful in terms of what you can do compared to plugins. Plugins work with a defined API, which matches the VS Code API. Plugins are encapsulated in a dedicated process and cannot “harm” the stability of the hosting product. Moreover, plugins can be installed at runtime. More information can be found in the detailed comparison of VS Code extensions and Theia extensions, as well as Eclipse Theia extensions and plugins and in the introduction to Theia extensions.
How does Eclipse Theia compare to VS Code?
Eclipse Theia reuses a lot of technology and concepts from VS Code, including LSP, the Monaco Code editor and the general usability concept. Theia provides the same extension API as VS Code, so you can use VS Code extensions in Theia. Additionally, Theia provides a second, more powerful extension mechanism (see here for the difference between the extension mechanisms of Theia). Theia however allows the creation of fully customized tools and is a vendor neutral project hosted at the Eclipse Foundation. See the more detailed comparison between VS Code (OSS) and Eclipse Theia and the comparison between the Theia IDE and VS Code for more information.
How to implement graphical diagram editors in Theia?
The Eclipse Graphical Language Server Platform (GLSP) is a framework for building web-based diagram editors. It comes with a native integration in Theia and is therefore a very good choice to augment your custom tools with graphical editors. See this article about diagram editors in Theia.
How can I migrate from Eclipse Desktop to Eclipse Theia?
In general, you can consider Eclipse theia to be the next generation of Eclipse Migrating from the Eclipse Desktop IDE to a web-based platform such as Eclipse Theia involves a conceptual shift and re architecturing your tool. In some cases, it is possible to reuse some business logic, the UI usually has to be implemented. See this guide on migrating Eclipse plugins to Eclipse Theia or VS Code.
How can I build domain-specific or modeling tools with Theia?
Theia is very flexible and supports building tools for any kind of domain. This includes non-IDE like tools such as data-dentric tools or graphical modeling tools. Technologies such as EMF Cloud and Eclipse GLSP provide the necessary features to build domain-specific tools and modeling tools based on Theia, just as it was the case for Eclipse desktop. See this talk for an overview about EMF Cloud and this article about web-based modeling tools based on Theia.
How to get support and consulting for Eclipse Theia?
Eclipse Theia is a vendor-neutral open source project, hosted at the Eclipse Foundation. If you want to build a product based on Eclipse Theia, there are service providers to support you with initial consulting, training and the actual implementation. EclipseSource is a service provider for tools in general and for Theia in particular. See here for consulting and support offerings for Eclipse Theia, for web-based tools including VS Code and tools in general.
Conclusion
We hope this article provides a good starting point to learn more about Eclipse Theia. If you miss the answer to a specific question about Theia, please feel free to get in contact with us. Please also check out the overview of Theia-related articles and tutorials.