Jonas Helming, Maximilian Koegel and Philip Langer co-lead EclipseSource. They work as consultants and software engineers for building web-based and desktop-based tools. …
Eclipse Theia 1.39 Release: News and Noteworthy
July 6, 2023 | 5 min ReadWe are happy to announce the Eclipse Theia 1.39 release! The release contains 41 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.
We are happy to announce that the call for submissions is open for TheiaCon 2023 is open. TheiaCon 2023 will take place as a 2 days virtual event on November 15th and 16th. The event is the perfect place to learn about news around Theia and its community. If you have anything interesting to share, please consider submitting a talk. This especially also includes adopter stories, i.e. if you build an application based on Theia, TheiaCon is a great place to present it.
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.39.
Eclipse Theia 1.39: Selected features and improvements
In the following, we will highlight some selected improvements in the new release. As usual we cannot mention all 41 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.
Support for multiple extension registries
Theia 1.39 adds support for connecting to multiple extension registries. Extension registries, such as the openVSX Registry allow the user of Theia-based tools to install VS Code extensions at runtime. Supporting multiple, configurable registries is a very interesting feature in commercial settings, as openVSX is open and adopters can host their own instances. As an example, the provider of a Theia-based tool could provide custom extensions via its own registry. As another example, if Theia is used in a restricted, internal context, a custom openVSX instance can only provide access to cleared extensions and therefore ensure security for internal development environments. The extensions registries available to the user of a Theia-based product can be configured via a configuration file, see the linked PR above for more details.
Startup performance improvement: Backend bundling
Theia 1.39 introduces webpack bundling for the backend (details see link above). The original motivation of this is actually to enable the upcoming support for SSH remote support. This will enable Theia to connect to a running container via SSH, upload the Theia backend and connect to it directly from the client (a.k.a. “Remote container support”) However, bundling the backend, which is already included in 1.39 has two very notable side effects: First, due to the reduction of the number of files in the backend, the startup time of the backend is significantly improved. Depending on the file access speed, the improvement can be by factor 3-5! Second, the size of the backend is reduced to roughly a third of the original size.
Detachable View Support for Electron
With Theia 1.30, we introduced support for detachable views in browser applications. The current 1.39 release also enables detachables views for Electron applications (see screenshot below). Therefore, you can move views from the main window into secondary windows, e.g. to use the space of a second screen. Theia by default currently enables this feature for WebViews and the Terminal. However, as an adopter, you can activate this feature for your own views, too.
Improved side panel overflow behavior
Theia provides side panels to provide quick access to views (left and right in the workbench). Theia 1.39 improves the overflow behavior, i.e. in case there are two many views open to fir into the side panel. As shown in the screenshot below, the side panel will collapse the bottom views into a “…” icon, which allows users to still access them via a context menu.
Add support for conditional exception breakpoints
Theia supports setting breakpoints in a debugging session that hold the application in case a caught or uncaught exception occurs. With 1.39, you can now also set additional conditions to the “exception breakpoints”. Via right click => “edit condition”, you can enter an expression. Only if this expression returns true, the breakpoint will actually hit. This is very useful, e.g. when debugging loops. Please note that conditions have been available before in Theia for regular breakpoints.
As always the 1.39 release contains much more than described in this article. Theia 1.39 increases the VS Code extension compatibility to 1.78. Furthermore, we refined/unified the styling of input validation or dialogues and improved the new RPC communication previously introduced in 1.34.
All these features and improvements (in total 41) 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 next month, 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!