In this article we´ll answer the most frequently asked questions about the Eclipse Theia IDE, 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 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 Typescript, HTML, CSS, the Language Server Protocol (LSP) and Monaco Code editor provided by VS Code. Find more details in this introduction of Eclipse Theia and the comparison of Theia to VS Code.
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 configure and launch a product based on Theia just like any other application based on Node.js. Furthermore, there are predefined example products based on Theia (see here). Finally, you can use Theia as part of Eclipse Che (see also how to launch Eclipse Che).
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 extend and adapt Eclipse Theia?
Theia provides 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 Eclipse Theia extensions and plugins, how to develop Theia plugins and in the introduction to Theia extensions.
Can I build domain-specific/modeling tools with Eclipse 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. This is enabled by additional technologies that integrate well with Theia such as Eclipse GLSP or EMF.cloud. Please see here for an overview on how to build these tools with Theia.
Does Eclipse Theia support diagram editors?
Yes, the Eclipse Graphical Language Server Platform (GLSP) provides a Theia integration to enable diagram editors. GLSP is very similar to LSP for textual editors. It encapsulates the diagram logic on the server and provides a generic client for rendering the diagram. See our introduction to GLSP and the GLSP website.
How does Eclipse Theia relate to Eclipse Che?
Eclipse Theia provides an application platform for online IDEs, code editors and domain specific tools. Eclipse Che provides a workspace server for hosting the service-site runtime environment required by these tools. Eclipse Che uses Theia as its default IDE to work in online workspaces. More details on the relationship between Eclipse Che and Theia.
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). Furthermore, Theia provides an online mode out of the box and is a vendor neutral project hosted at the Eclipse Foundation. See the more detailed comparison between VS Code and Eclipse Theia for more information, as well as the comparison “Eclipse Che vs. VS Code (online|codespaces)”.
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.
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.