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 2022-09
October 18, 2022 | 6 min ReadWe are happy to announce the first Eclipse Theia community release “2022-09”, version 1.29.1! This release marks the beginning of a new release cycle, which is provided by the Theia project in addition to the monthly releases. Every three months from now on, Theia will publish a new Community release.
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 a well-rounded introduction to Theia and visit the Theia website.
In contrast to the monthly releases, community releases publish a release candidate one month ahead of the actual release. 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 doing so, 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
Along with the first community release, Theia also celebrates its fifth anniversary this year, so congratulations! The project remains to be one of the most active projects at Eclipse, with a large and active developer community.
Before we dive into some highlights around the community release, this video summerizes the highlights of the Eclipse Theia Community release 2022-09:
Let’s summarize some highlights on the road to this first Theia community release!
Highlights of the Theia 2022-09 community release
Usually, a community release is the result of three months of development. For this first community release, we go a little bit further and summarize the highlights introduced to Theia in 2022.
Toolbar
Probably the most user visible feature added to Theia in 2022 is the support for a configurable toolbar (see screenshot below). While almost all desktop tools do provide toolbars, most web-based tools often don’t (although it has been discussed a lot). The Theia toolbar comes with a lot of flexibility. As a tool creator, you can decide whether it is part of your tool or not and what it initially looks like. Users of your tool can adapt the toolbar, they can add, remove and rearrange items. It is even possible for users to select custom icons for actions.
UX Refinements
A lot of work has been spent on innumerous UX improvements all across the Theia workbench. Examples are the improved support for multiple editors, the reorganization of menus and the improved tab rendering (see screenshot below).
This also includes nice features such as dynamic debug configurations and compound launch configurations.
It would go beyond the scope of this article to mention all of Theia’s UX improvements in 2022, checkout the previous release announcements for more details.
Memory and Disassembly Views
Since 1.28, Theia has provided a comprehensive disassembly view fueled by the debug adapter protocol (DAP). Please note that the respective debug adapter used for a debug session needs to support this feature though, as is the case, for instance, with CDT-GDB. As soon as the execution is suspended, as for example when hitting a breakpoint, you can right-click on the call stack and inspect the current state in the disassembly view (see screenshot below).
Since Theia 1.29, Theia has provided the memory inspector. As the name implies, it allows a detailed memory view while debugging a program. This is essential for embedded development. The memory inspector is attached to a debug session and provides full integration with Theia. It is worth mentioning that the Theia memory inspector is quite flexible and can also be used for languages other than C/C++ (see screenshot below).
VS Code Extension Compatibility
One of the great things about Eclipse Theia is that it is capable of hosting VS Code extensions. As a creator of a tool or IDE based on Theia, you can make features provided as VS Code extensions part of your product, e.g. language servers. You can even allow the users of your tool to install VS Code extensions at runtime, e.g. via the open marketplace openVSX.
A continuous focus of the Theia team is to support new VS Code extensions features such as support for Webviews, support for the authentication and workspace trust API or the call hierarchy support (see screenshots below)
Improvement for Adopters
Eclipse Theia is a platform for building tools and IDEs. Therefore, the primary audience are adopters who use Theia for building their custom products based on Theia. Many innovations in 2022 were targeted at improving the experience for adopters of Theia. A huge improvement in this area was the complete overhaul of the Theia documentation for adopters including a clear definition of the project’s goals. Check the documentation on the Theia website.
As another example, we introduced a test framework for Theia based on Playwright. It allows the efficient creation of end-to-end tests for Theia-based products. Furthermore, Theia improved the CLI used to build Theia-based products.
Also the underlying frameworks and the technical basis of Theia have been continuously updated. As an example, Theia has upgraded the Monaco version (the Theia code editor) already two times this year. Furthermore, we significantly improved the performance of the RPC communication in Theia.
There have been many more improvements to Theia, especially for adopting it in an industrial environment, such as the proxy support or support for WebUSB, WebSerial and WebHID.
These were just some selected highlights from the first Theia community release, but there is much more! Please check out the monthly release announcements of Theia to read more about the developments in 2022. We are looking forward to the next Theia community release in December 2022!
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!