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.49 Release: News and Noteworthy
May 8, 2024 | 6 min ReadWe are happy to announce the Eclipse Theia 1.49 release! The release contains 53 merged pull requests. In this article we will highlight some selected improvements and provide an overview of the latest news around Theia.
For those new to Eclipse Theia, 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.
The Theia 1.49 release is the first release candidate for the next community release 2024-05. So if you plan to adopt the next community release, please verify the 1.49 release and report important issues for your use case!
The Theia project also releases a product, the Theia IDE. The Eclipse Theia IDE is a modern and open IDE for cloud and desktop aimed at end users. The Theia IDE is based on the Theia platform. For more details, see the Theia IDE website.
If you are looking for a simple way to check out the new release, please download and install the Theia IDE, which is based on Theia 1.49.
Eclipse Theia 1.49: Selected features and improvements
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 when applicable.
Dev-Container support
Theia 1.49 introduces initial support for Development Containers. With the 1.43 release, Theia already added support for remote development. This means, you can directly develop on a remote machine, virtual machine or container, all seamlessly from within your own Theia IDE instance. With the 1.49 release, we add support for the so-called “dev container”, originally introduced by VS Code. By adding a dev container specification file to a workspace, you allow the user to specify a Docker container, which provides the set-up environment for development. Then, you can easily trigger the action to reopen the workspace in this container (see screenshot below). Theia will start the defined container and automatically connect to it. Using dev containers, you can significantly streamline the set-up of developer workspaces. Basically, you specify a Docker container with all prerequisites and all developers switch their development to be inside of this Container. Due to the support for port forwarding, you can specify which ports are exposed from the development container. As an example, If you develop a web application, you can access it from the browser on your host machine. Please note that the dev container feature in Theia does not support all configuration items available in dev container specifications yet, but focuses on the important base use cases. If you miss specific properties for your dev container to work, please report it!
Docker Image for Theia IDE
The Theia IDE is a modern and open IDE based on the Eclipse Theia platform and provided by the Theia project. By default, it is bundled as a desktop application and provides installers for all major operating systems. However, Theia supports building applications that run on the desktop, but also in the cloud. Therefore, we also provide an online version of the Theia IDE. You can actually try it for free (limited for 30 minutes). If you want to host the Theia IDE to be used in the browser yourself, we provide a Docker image. Please note that the Docker image of the Theia IDE is currently in experimental state. It is built from the same sources and packages as the desktop version, but it is not part of the preview test.
Dirty Diff Peek View
Theia 1.49 introduces the Dirty Diff Peek View, significantly enhancing the way users interact with code changes directly within the editor. This new feature allows users to navigate and preview even unsaved modifications, or “dirty diffs”.
The peek view can be triggered by clicking on dirty diff decorations in the gutter of the editor (see screenshot below). A subsequent click on the same decoration will close the peek view. The action bar within the peek view itself offers basic navigational actions such as browsing through changes and closing the view. For more advanced functionalities like reverting or staging changes, Theia extensions and VS Code plugins can contribute additional actions to the peek view’s action bar. Additionally, users can now move to the next or previous change with the keyboard shortcuts Alt+F5 and Shift+Alt+F5, respectively. Additionally, commands like Alt+F3 and Shift+Alt+F3 provide an inline diff peek view of the changes.
Add a new built-in handler to open files with system application
Theia 1.49 introduces a new feature that simplifies opening files with the system’s default applications. A new command, “Open With System Editor,” along with an OpenWithService handler, have been added. This functionality enables users to directly open any file in its associated system application right from Theia’s interface.
To use this new feature, users can either select a file in the navigator and execute the “Open With System Editor” command from the command palette or use the Navigator menu. In the Navigator menu, users can select “Open With…”, choose the “System Editor” option, and press ENTER (see screenshot below). In both scenarios, the selected file will be opened with the system default editor, enhancing workflow efficiency by integrating more closely with the underlying operating system.
Splash screen support for Electron
Theia 1.49 adds support for showing an optional splash screen during start up (see screenshot below). The splash screen can easily be enabled and customized when building custom tools or IDEs based on Theia. See the Theia documentation for more details.
As always the 1.49 release contains much more than described in this article. To keep Theia’s compatibility with VS Code extensions, the version of the VS Code extension support was increased to 1.88.1. Furthermore, we have updated the built-in VS Code extensions, also to version 1.88.1.
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 next month, 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. We are happy to announce that we provide a new Eclipse Theia online training that you can conduct anytime, anywhere. It provides you and your team with a jump start for the development of your own custom solutions based on Eclipse Theia extensions.
Furthermore, if you want to extend Theia with features such as the toolbar or the test framework, EclipseSource provides sponsored development for Theia, too. Finally, we provide consulting and support for hosting web-based tools in the cloud. Get in contact with us, to discuss your use case!