May 24th 2018

Theia – May 2018 update

Sven EfftingeSven Efftinge

It has been a while since I last shared an update about Theia. A lot has happened since then.

Eclipse Theia

That’s right, Theia is moving to the Eclipse Foundation. The project has already been created and we are now in the process of getting approval from all the committers to relicense the code base. So far, Theia was licensed under Apache 2 but will now be relicensed to a dual license of EPL2 and a secondary GPL. The GPL bit is only interesting if you intend to use Theia in a GPL context, as EPL2 is not compatible. In most scenarios, especially for use in commercial products, the EPL2 license will apply.

Eclipse Che uses Theia

Another great news for the community is that the Che team has started to open up the Che workspace server to run Theia instead of the current GWT-based Che IDE. The plan is to completely switch over to Theia eventually. For that, we need to catch up and add some features that are available in today’s Che but not yet in Theia.

Red Hat

Together with Ericsson and TypeFox, Red Hat has started to actively contribute to Theia. Besides several smaller issues, the team has started working on a visual debugger supporting the Debug Adapter Protocol, as well as a plug-in system that allows running plug-ins in a sandboxed environment similar to how VS Code does it.

The new more restricted plug-in system will be optional and developed in addition to the existing extension model of Theia as they address two different use cases: Plug-ins are meant to be used for smaller and simple features, while with extensions you can build anything you want including fully white-labeled products.

The plug-in API is designed with the current VS Code API in mind. The goal is to eventually fully support VS Code extensions through that.

Lots of new features

Finally, we have added many new features in the last four months. Without going into too much detail, here’s a list of the new & noteworthy things that have been done in 2018 so far:

The workbench shell has been rewritten and now supports drag & drop between all panels. We have added a bottom panel in addition to the side panels. For more details, read Miro’s blog post.

The Git integration now comes with commit staging, Git diff, and Git history. Git changes are signaled through annotations in the navigator as well as in editors.

The navigator supports drag & drop, quick search and auto reveal with regards to the active editor. You can even upload files by simply dragging them from your desktop onto the file navigator. Furthermore, the navigator supports annotations. For instance, error markers and git changes are now shown in the navigator.

The new search support allows searching for text occurrences in the workspace. Regular expression, glob patterns, and search & replace are supported, as well as some other options.

Theia Screenshot

There is much more like the call hierarchy or the neat markdown support that are worth to check out.

Summary

The strong support from different vendors and the move to Eclipse Foundation are a promising basis for the future of Theia. After one year of development, we are truly happy (and proud) to see our baby starting to fly.

It is now ripe to be used as the foundation for new cloud and desktop IDE-like tools. If you want to learn how, you can either attend the tutorial on Theia during next month’s EclipseCon France, send me a mail, or simply chime in on GitHub or our Gitter channel.

P.S.: I was often asked whether I use Theia to develop Theia. I can finally say, yes. And I enjoy it. :)

About the Author

Sven Efftinge

Sven Efftinge

Sven loves finding sweet spots in product development. Always keeping an eye on pragmatism and the real benefit for the end user, he has proven to be a creative source for many sucessful technologies. He is a co-founder of TypeFox, co-lead of Eclipse Theia and product manager of Gitpod.

Read more about this topic

read the article

Jan 3rd 2024

Article

Markus Rudolph

Add views to a Langium-powered VS Code extension

Markus gives a simple introduction about webviews in VS Code and how to interact with Langium.

read the article
read the article

Dec 13th 2023

Article

Dennis Hübner

Enhancing communication between extensions and webviews using VS Code Messenger

Dennis introduces the VS Code Messenger library and explains how to use it for a better intercommunication between VS Code extension and its webviews.

read the article
watch the videoOpen Video

Nov 16th 2023

Video

Mark Sujew

Embracing remote systems in local IDEs

Mark discusses remote development and collaborative editing. He introduces a new collaboration protocol to enable compatibility between IDEs.

watch the video
LOAD MORE