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-02
March 9, 2023 | 5 min ReadWe are happy to announce the second Eclipse Theia community release “2023-02”, version 1.34.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 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
Let’s summarize some highlights on the road to this second Theia community release!
Highlights of the Theia 2022-09 community release
Usually, a community release is the result of three months of development. You might have noticed that we shifted the second community release by two months. This was done to avoid the Christmas vacation period. Future release months will be February, May, August and November. Therefore, the 2023-02 release contains the improvements that have been added between Theia 1.30 and 1.34, which is a total of astonishing 209 pull requests. Let’s look at three highlights!
Detachable Web View and Terminals
Remember the good old days when you could detach a view from your IDE, move it to a second screen and efficiently use your fancy multi-display setup? Surprisingly, most modern and web-based tools and IDEs do not offer this capability anymore, although it is highly requested.
As an innovative platform for building modern tools and IDEs, Theia is actively working on introducing the support for detachable views again and the community release 2023-02 support detaching web views, the terminal and custom views.
With the 1.30 release, we added experimental support for detachable WebViews as a first step. Please note that this feature is currently restricted to browser-based applications. However, the Theia team is actively working on supporting Electron, too. In Theia 1.31, we added additional support for detaching the terminal from the main window (see following screenshot). The terminal was selected as a next step, because it is used in many tools, but on the other hand it is typically only used from time to time. Therefore, it is often a perfect candidate for moving it from the main window to a second screen.
The Theia team is planning to incrementally add this support for additional views. If you are an adopter of Theia and provide custom views, you can also implement them in a way so they are detachable.
Improved VS Code extension API
The development towards the 2023-02 community release focused on ensuring compatibility to VS Code extensions. As you might 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 they require to run to ensure compatibility. The Theia community release 2023-02 raises the compatibility level to 1.68, which 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.
In the meantime, the main development branch of Theia is already compatible with 1.70 and we are actually getting very close to version 1.74 (the latest VS Code version). So we expect to close the gap to almost zero with the upcoming releases.
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.
Theia 1.33 adds support for declaring dependencies to Theia packages as peer dependencies. This is very useful for framework providers that integrate with Eclipse Theia, for example the diagramming framework Eclipse GLSP. When using Theia to build a product, you often also include some of these frameworks into the same application. To manage the underlying Theia packages, peer dependencies help a lot, as you can centrally define the Theia version in a single place of your product. As long as the peer dependency of the integrated framework is satisfied, you won’t have to deal with conflicting dependencies or resolutions anymore as it would be the case if all components you wanted to integrate would define their own dependencies.
With Theia 1.27, we introduced a new RPC communication layer implementation that greatly improved the performance for file access. This was directly used by Theia extensions, already improving the performance, especially for large files by an order of magnitude. With the 1.33 release, the new communication layer is also used for VS Code extensions, which, combined with the previous optimization, speeds up file access for VS Code extensions by a factor of 30.
These were just some selected highlights from the latest Theia community release, but there is much more! As an example, you can now start Theia directly from command line. Please check out the monthly release announcements of Theia to read more about the developments in the 2023-02 release. We are looking forward to the next Theia community release in May 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!