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. …
The Eclipse Theia Community Release 2023-05
June 12, 2023 | 5 min ReadWe are happy to announce the third Eclipse Theia community release “2023-05”, version 1.37.x!
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 a well-rounded introduction to Theia and visit the Theia website.
In contrast to the monthly releases, community releases are provided every quarter by the Theia project. A dedicated release branch allows contributors to harden and even hotfix a community release. Finally, third-party technologies, such as Eclipse GLSP or CDT Cloud, select the community release as a compatibility anchor, i.e. they provide versions that are compatible with a specific community release. Learn more about the advantages of the Theia community release and visit the Theia release page.
In a nutshell, if you adopt Theia and do not always want to consume the monthly releases, the community releases are your way to go!
By adopting the community release, you also benefit from compatible versions of the following technologies integrating with Eclipse Theia. This means the project teams have explicitly tested and refined these versions with the Theia community release.
See the community release page for a full list of compatible technologies
Let’s summarize some highlights on the road to this third Theia community release!
Highlights of the Theia 2023-05 community release
A community release is the result of three months of development. Therefore, the 2023-05 release contains the improvements that were added in the Theia releases 1.35, 1.36 and 1.37, which is in total, 134 astonishing pull requests. Let’s look at three highlights!
UI and Usability Improvements for Tabs
The 2023-05 community release contains several UI improvements for the tab handling in the workbench. The most visible one is the dynamic tab resizing strategy, which is a massive improvement for the management of 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 the 2023-05 community release, the user can influence the tab size strategy in the preferences (see screenshot below). More details can be found in the 1.37 release announcement. Long story short, the tab sizing strategy of Theia is now very similar to modern browsers and will likely match most users expectations. So give it a try by turning the setting on!
Furthermore, Theia has improved 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. Moreover, 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.
Finally Theia 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 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.
Improved VS Code extension API
The 2023-05 community release is a leap in terms of compatibility to VS Code extensions. As you might already know, you can use VS Code extensions in Eclipse Theia applications. This enables you to enhance your Theia-based application with a pantheon of features from a huge ecosystem of available extensions available for VS Code, e.g. via the openVSX Registry. VS Code extensions specify the minimum version of VS Code that they require to run, to ensure compatibility. The Theia community release 2023-05 raises the compatibility level to 1.77, which is only one month behind VS Code and allows the vast majority of extensions to be installed in their latest versions. With that, Theia consequently introduced a lot of new features, which are provided via the VS Code extension API, e.g.
- DocumentDropEditProvider
- TabAPI
- SnippetTextEdit
- … and many more
In the meantime, we have started to implement the two remaining features in the VS Code API that are currently only stubbed in Theia, the Notebook Support and the TestAPI.
Improvements for adopters
Theia is a platform to build custom IDEs and tools. As such it always also strives towards making the lives of adopters easier. Let’s highlight two significant improvements under the hood of Theia that made it to the community release.
The 2023-05 community 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 now allows you to use use placeholders in the URL. This enables you to download platform specific versions of extensions, depending on the target operating system. Furthermore, Theia 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. The community release 2023-05 extends this page object model to also support the OutputView, OutputChannel, the Toolbar and the Terminal (see PRs #12381 and #12384).
These were just some selected highlights from the latest Theia community release, but there is much more! Please check out the monthly release announcements of Theia to read more about the developments in the 2023-05 release. We are looking forward to the next Theia community release in August 2023!
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. Get in contact with us, to discuss your use case!