We are happy to announce the Eclipse Theia 1.29 release! The release contains 53 merged pull requests and we welcome eight new contributors. In this article we will highlight some selected improvements and provide an overview of the latest news around Theia.
The TheiaCon 2022 Call for Presentations (CFP) is now open! We will be offering a broad range of opportunities to present and share all things Eclipse Theia at our 2nd annual TheiaCon event to be held November 30 – December 1, 2022. This is a two-day virtual event. The program will include 25 minute presentations (including demos), expert panel discussions and five minute “lightning talks.” Please submit your talk proposal by September 30th!
A very good place to learn more about Theia will also be EclipseCon 2022, the program will have a strong focus on Theia and other Eclipse Cloud Developer Tools technologies. So make sure you get registered soon! As part of EclipseCon, the Cloud DevTools Working Group will be sponsoring a Community Day on Monday, October 24. This is a great opportunity to meet others in the community and share experiences around Theia. Do you have a topic you’d like to discuss or perhaps a topic you would like to know more about from one of our community experts? If so, let us know with this form.
Please note that the 1.29 release is the release candidate for the Theia community release in September. So if you plan to adopt the community release, you should test the 1.29 release and report any issues as soon as possible. If you provide a framework integrating with Theia, please check the compatibility with Theia 1.29 and get listed on the Theia community release website. For more information, please refer to this article about the Theia community release.
In the following, we will highlight some selected improvements in the new release. As usual we cannot mention all 53 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.
Theia 1.29 adds support for “compound launch configurations”. This allows the developer to start several processes with one launch config as well as attaching a debug session to the launched processes. This is for example used when developing a client server application where you want to launch the server and then attach the debugger to the server and the client session.
As you can see in the screenshot below, you can create compound configurations as part of the launch.json (right side). These compound configurations consist of several regular configurations. As you can see on the left side, these compound launch configurations are shown in the regular launch/debug menu in Theia and can be executed with one click.
With the Theia 1.29 release, the memory inspector is now fully integrated into the core Theia project. It was formerly available as an external component.
The memory inspector, as the name implies, 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++.
The memory view during the debug session is fully dynamic. Inspected values will change while stepping through the program. Changes are highlighted so users can directly focus on interesting registers. Embedded developers will be especially amazed by the rich feature set of this contribution. For more details on the various advanced features check out this article about the Theia memory inspector.
As in most Theia releases, the 1.29 includes several UI improvements and refinements. The general goal is always to keep the UI clean and efficient for users of Theia-based products. As an example, you can now toggle the breadcrumbs in Theia using a simple command (see screenshot below). This saves screen space and removes distraction when the breadcrumbs are not really needed. Based on the same motivation, you can also toggle the terminal (also see screenshot below). Using this, you can develop on a file full screen, quickly trigger a build and return to full screen again.
Theia 1.29 introduces several improvements to the Thei CLI used to build Theia-based applications. In particular, the CLI can verify that all dependencies of a product are resolved to the same Theia version. Theia is a platform to build custom IDEs and tools. In a typical scenario, a Theia-based product consists of a number of custom packages, some packages from other projects such as Eclipse GLSP or EMF.cloud and of course several packages from the Theia project itself. In this set-up, you typically want to make sure that the dependencies on Theia package are only resolved to one specific version. With the 1.29 release, the Theia CLI can verify this and other related conditions for you, which eases the creation of a Theia-based project . For more details, please see the details on the respective PR.
Theia 1.29 contains many additional improvements such as the improved support for VS Code extensions, including a complete overhaul of the Plugin Preference Access
All these features and improvements (in total 53) 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 at the end of July, 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. Get in contact with us, to discuss your use case!
In this article, we introduce the Eclipse Theia Community Test Suite. It provides adopters of…
In the article, we highlight an area of improvement for the Eclipse GLSP 1.0 release:…