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.37 Release: News and Noteworthy
May 8, 2023 | 5 min ReadWe are happy to announce the Eclipse Theia 1.37 release! The release contains 39 merged pull requests and we welcome one new contributor. 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.
Please note that the 1.37 release is the release candidate for the next community release, which will be available in May. So, now is a good time to test the new release for your use cases and provide feedback. Please checkout the Theia release overview for more details.
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.37.
Eclipse Theia 1.37: Selected features and improvements
In the following, we will highlight some selected improvements in the new release. As usual we cannot mention all 39 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.
Dynamic Tab Resizing Strategy
Theia 1.37 introduces a massively improved management for tab sizes in the editor area. The previous default was, similar to VS Code, that the horizontal tab size was just as wide as the label of a tab (usually the file name). This behavior produced a very inhomogeneous look and feel for the tabs, specifically, when there were very long labels. In Theia 1.37, the user can influence the tab size strategy in the preferences (see screenshot below). With the setting “Shrink tabs to fit available space” turned on, Theia will assign an equal size to all tabs and calculate the size of them to fit on screen. Tabs will take a default and also maximum width defined by the setting “default size”. The setting “minimum size” defines the minimum width that tabs are shrunken to when not enough space is available. If all open tabs do not fit on screen anymore, there is a nice scrollbar shown.
Long story short, the tab sizing strategy of Theia 1.37 is very similar to modern browsers and will likely match most users expectations. So give it a try by turning the setting on!
Extended tab bar hover option
Theia 1.37 improves the display options when the user hovers over a tab. By enabling the setting “Enhanced Preview” (see screenshot below), you will see not only the file name, but also the caption of a view/editor. Furthermore, we extended the way that the hover widget can be adapted by custom tools. As described in the tab bar documentation on the Theia website, you can style the content of the hover widget or even replace it with custom UI elements.
Keybindings: search improvement
Theia 1.37 improves the search feature for the keybindings dialog. Often you want to search for a specific key combination to identify which commands are currently bound to it. In Theia 1.37 you can enter the key combination in the search field, see also the screenshot below.
Support for VS Code extensions 1.74.2
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.37 raises the compatibility level to 1.74, this means extensions that require the VS Code extension API up until 1.74 can be used. This supports the vast majority of available extensions. New features available are for example the support for LogOutputChannel (see screenshot below) and the support for the l10n namespace allowing internationalization of VS Code extensions. See also the full list of additions in the 1.74 VS Code API.
Please note that we are very close to supporting 1.77 (one open PR), so we might support 1.77 in the upcoming community release.
Improvements for adopters
The Theia 1.37 release contains several improvements for adopters, i.e. stakeholders who build their own custom tool based on Theia. For example, the download script for Theia plugins / VS Code extensions allows now to use placeholders in the URL. This enables you to download platform specific versions of extensions, depending on the target operating system. Furthermore, Theia 1.37 improves the Playwright support. Theia provides explicit support for writing Playwright tests for Theia-based applications. More precisely, Theia provides a page object model that allows you to write test more efficiently and also in a more robust way. Theia 1.37 extends this page object model to also support the OutputView, OutputChannel, the Toolbar and the Terminal (see PRs #12381 and #12384).
As always the 1.37 release contains much more than described in this article. All these features and improvements (in total 39) 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!