We are happy to announce the Eclipse Theia 1.35 release! The release contains 45 merged pull requests and we welcome two new contributors. In this article we will highlight some selected improvements and provide an overview of the latest news around Theia.
You don’t know about Eclipse Theia, yet? It is the next-generation platform for building IDEs and tools for the web or desktop, based on modern state-of-the-art web technologies. For more details, please refer to this article and visit the Theia website.
This month, we are happy to also introduce you to Theia Cloud. Theia supports building desktop and cloud-based applications. When running Theia in the cloud, you need some infrastructure on the server to manage developers workspaces. This is exactly what Theia Cloud provides, so if you want to use Theia online, check it out.
If you are looking for a simple way to check out the new release, please download Theia Blueprint, which has just been updated to 1.35.
Eclipse Theia 1.35: Selected features and improvements
In the following, we will highlight some selected improvements in the new release. As usual we cannot mention all 45 improvements, however we will focus on the most notable changes as well as changes visible to end users. The corresponding pull requests are linked under the respective heading when applicable.
Editor/Tab handling improvements
Theia 1.35 includes several usability improvements when working with editors, especially in scenarios with many open editors in a workbench. While Theia conceptually allows to have the same file opened multiple times, this can actually be pretty confusing for users.
The release introduces a new user setting “workbench.editor.revealIfOpen“. If set to “true”, Theia will prevent opening duplicate editors in the workbench. If the user opens a file that is already open, it will focus the existing editor showing the opened file instead. With a similar intention, Theia 1.35 also prevents users from dragging editors with the same content into the same tab group. As shown in the screenshot below, if you drag a file editor in a tab group where the file is already opened, Theia will simply close the other editor.
Theia 1.35 provides a refined dialog to ask the user to save unsaved changes on close (in desktop-based products). It has clearer options and it shows a list of unsaved editors to the user (see screenshot below).
As you might know, Theia supports hosting VS Code extensions. This means you can access the huge ecosystem of available VS Code extensions and simply install these features into a Theia-based application, e.g. via the Open VSX Registry. Theia 1.35 raises the compatibility level to 1.70, this means extensions that require the VS Code extension APi up until 1.70 can be used. This supports the vast majority of available extensions. The next two features are examples of things provided via the VS Code extension API.
Theia 1.35 adds support for the so-called DocumentDropEditProvider. In general, this allows adding custom behavior when a document from outside of Theia is dropped on an open editor within Theia. In the example shown in the screenshot below, the DropEditProvider will add the content of the dropped file to the opened file. This feature (DocumentDropEditProvider) is provided via the VS Code Extension API.
Another feature added in Theia 1.35 is support for the “VS Code Tab API”. This allows extensions to interact with the tabs opened in a Theia workbench on a fine-grained basis. In the screenshot below you can see some example use cases, e.g. to close the active tab, to close the active tab group or to react on activating a tab (see messages in the bottom right corner).
As always the 1.35 release contains much more than described in this article. All these features and improvements (in total 45) were the result of one month of intensive development. Eclipse Theia follows a monthly release schedule. We are looking forward to the next release due in March, stay tuned! To be notified about future releases, follow Theia on Twitter and register to our mailing list.
If you are interested in building custom tools or IDEs based on Eclipse Theia, EclipseSource provides consulting and implementation services for Eclipse Theia as well as for web-based tools in general. Furthermore, if you want to extend Theia with features such as the toolbar or the test framework, EclipseSource provides sponsored development for Theia, too. Finally, we provide consulting and support for hosting web-based tools in the cloud. Get in contact with us, to discuss your use case!