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.24 Release: News and Noteworthy
April 14, 2022 | 6 min ReadWe are happy to announce the Eclipse Theia 1.24 release! This release contains an amazing number of 78 merged pull requests including a major update of the Monaco code editor! 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.
We would like to congratulate STMicroelectronics for winning the Eclipse Cloud DevTools Contributor Award related to Eclipse Theia. Their contributions to the Theia documentation puts Theia on a level of being very well documented (confirmed by openhub.net). Checkout the available documentation on the Theia website.
With its amazing development activity and ever-growing feature set, Theia is now considered to be the next generation of the Eclipse Tools/IDE platform (more details see this blog post) and also the next generation of Eclipse RCP (see this blog post). As an example for a successful adoption of Theia as a platform for building an innovative cloud-based tool offering, checkout this adopter stories about logi.cloud and Arduino
In the development month leading to the 1.24 release, we are happy to welcome three new contributors, adding up to a total number of 110 active contributors within the last 12 months. Thanks to all the great work from the contributors, Eclipse Theia continues to be one the most active projects at Eclipse.
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.24.
As an adopter, building your own tool based on Eclipse Theia, you will certainly benefit from the added features highlighted below when updating to the new version. Please also check out the release notes and the migration guide.
Further, please continue to ask questions in the community forum and consider to file issues for bugs and features.
Eclipse Theia 1.24: Selected features and improvements
In the following, we will highlight some selected improvements in the new release. As usual we cannot mention all 78 improvements, however we will focus on the most notable changes as well as changes visible to end users. The corresponding pull requests are linked on the respective heading.
Monaco code editor update to 0.33
The biggest change in Theia 1.24.0 is the update to the latest version of the Monaco code editor. Theia adopts the Monaco code editor as the standard editor for text and source code. It is exactly the same code editor that is used in VS Code. Therefore, tools based on Theia automatically benefit from the ongoing active development of the most advanced code editor based on web-technologies. This enables a first class user experience for code and text editing in Eclipse Theia.
By updating to the latest version of Monaco, Theia inherently provides a huge set of innovations, which would go beyond the scope of this article. Let’s just pick two arbitrary examples!
The new code editor adds an option to collapse imports by default, as seen in the following screenshot.
As a second example for a new feature, the new code editor supports highlighting non basic ASCII, invisible or ambiguous unicode characters.
Pinned Tabs
Probably all developers know the issue of organizing editor tabs in the IDE. When browsing some other file than the one currently under editing, you quickly pile up to a huge number of open tabs and lose the overview. The option to close all other tabs except the current one helps a bit. However, you often have 2 or more files you focus on. The new “Pin Tab” option in Eclipse Theia solves this problem. You can pin tabs you do not want to close. Subsequently, the “close all tabs” action will ignore pinned tabs (see screenshot below).
Make preference node rendering customizable and provide file selection
Eclipse Theia has a flexible preference system. Extensions can define preferences, just by providing a schema. Theia automatically allows users to edit these preferences with a generic user interface for the defined preferences. However, some types of preferences require a more advanced UI for a convenient editing experience. Therefore, Theia 1.24.0 now allows hooking up specific UI renderers for preferences, too. As an example, if the user is supposed to set a file path, you can hook up a text box with a file selection option instead of a plain input field (see screenshot below). Theia 1.24.0 not only introduces custom renderers for preferences, but also a default renderer for preferences that point to a file (as shown in the screenshot).
Improved Support for VS Code extensions
Eclipse Theia supports running VS Code extensions. This means, you can extend Theia-based applications with the same extensions used for VS Code, too. This leverages the huge ecosystem of VS Code extensions, e.g. available on openVSX. Be aware that Theia also supports a second, more powerful extension mechanism called “Theia extensions”. Please see this comparison between VS Code Extensions and Theia Extensions.
As the VS Code extension API continuously evolves, almost every Theia release also contains new API in this area. As an example, 1.24.0 supports the SourceFixAll action, which automatically applies all automatic fixes that do not require any user input. As another example, Theia 1.24.0 supports descriptions on auto completion suggestions. As shown in the screenshot below, providers for code suggestions can add a description field, which is displayed to the user when pressing CTRL+SPACE.
UI refinements and better UI customizability
In every release, Eclipse Theia refines and improves its UI. As Theia is a platform for building tools and IDEs, it essentially provides adopters with two things: (1) A default UI and default components that you can use out of the box, (2) ways to customize, extend and even entirely replace the default UI with project-specific styles or UI.
The 1.24.0 release contains several improvements in both categories. As an example, the improved support for custom icon themes makes it very convenient to replace all default icons with your custom icons.
As an example for the first category, i.e. refinements of the default UI, Theia 1.24.0 improved the tab rendering (see screenshot below).
All these features and improvements (in total 78!) were the result of one month of development, Eclipse Theia follows a monthly release schedule.We are looking forward to the next release due at the end of April, 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!