Jonas Helming, Maximilian Koegel and Philip Langer co-lead EclipseSource, specializing in consulting and engineering innovative, customized tools and IDEs, with a strong …
Eclipse Theia 1.56 Release: News and Noteworthy
December 6, 2024 | 10 min ReadWe are happy to announce the Eclipse Theia 1.56 release! The release contains in total 62 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. With Theia AI, part of the Theia platform, you can also build AI-powered tools and IDEs with ease. For more details about Eclipse Theia, please refer to this article and visit the Theia website.
If you adopt Theia as a platform, be aware of potential scrollbar issues cause by the underlying library “perfect-scrollbar”. You need to pin perfect-scrollbar at 1.5.5 for the time being to avoid this. See this issues for more details. This does not apply to users of the Theia IDE.
Please note that the upcoming release 1.57 will already be published before Christmas, so the next release cycle will be a short one.
The Theia project also releases a product, the Theia IDE. The Eclipse Theia IDE is a modern, AI-powered, and open IDE for cloud and desktop environments, aimed at end users. The Theia IDE is based on the Theia platform and also includes AI powered assistants. For more details, see the Theia IDE website.
Remember that the Theia IDE left its beta phase and is now generally available (already with release 1.51). Also, see the press release, the blog post and the section below about this.
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.56.
Eclipse Theia 1.56: Selected features and improvements
In the following, we will highlight some selected improvements in the new release. As usual, we cannot mention all 62 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.
If you adopt Theia as a platform, be aware of potential scrollbar issues cause by the underlying library “perfect-scrollbar”. You need to pin perfect-scrollbar at 1.5.5 for the time being to avoid this. See this issues for more details. This does not apply to users of the Theia IDE.
Fix for File Watching Issues in Theia 1.56 and Hotfix Release for 1.55
Theia 1.56 addresses a critical issue related to file watching, caused by the underlying @parcel/watcher library. This issue, observed when managing large numbers of file creations, was reported by Theia IDE users in practical scenarios. While some applications with lower dependency on file watching might not be directly affected, this fix ensures greater stability across diverse use cases.
The resolution involves upgrading the @parcel/watcher dependency to a more reliable version, which has shown positive results in initial testing with 1.56. To support users of the Theia 1.55 community release, a hotfix (1.55.1) has been provided, including only this dependency update. Users of 1.55.0 are encouraged to upgrade to 1.55.1 or later for improved stability, with no impact on APIs or additional workflow changes required.
Add support for Hugging Face
Theia 1.56 adds support for integrating Hugging Face as an inference provider for Theia AI and in the Theia IDE. It was actually possible before to connect to Hugging Face via the OpenAI API they offer. However, we experienced some models that do not work well using the OpenAI API.
In the Theia IDE, users can now configure Hugging Face models directly via the AI preferences. This includes using Hugging Faces’ “serverless” mode, in which you can use specific models for free! This unpaid inference works for models under a certain size, which are loaded automatically. It also works for models, which are already “warm”, i.e. there is an existing deployment running.
We experienced that two very interesting medium models are always “warm”, so you can use them:
StarCoder: An open source model focussed on code that can be used for code completion in particular. StarCoder is trained on a data set called “The Stack”, created as part of the BigCode Project for responsible Code LLM development.
Qwen/Qwen2.5-Coder-32B-Instruct: This instruction model can be used for code completion, as well as for code-focused chat agents.
We will soon publish a dedicated article about our experience with these two models, so stay tuned and follow us for more.
To use a model from Hugging Face, simply copy the model id on the Hugging Face website:
… and paste it into the settings of your Theia IDE:
Please note that there are rate limits for unpaid access on Hugging Face, however, these limits are pretty generous. You can alternatively of course switch to a paid plan and get unlimited inference.
Support for custom LLM Request Settings
Theia 1.56 introduces support for specifying custom request settings for AI models. This enhancement enables users to define model-specific settings, including maximum token limits, stop tokens, and more. Additionally, provider-specific configurations are supported, reflecting the unique options and terminology used by different AI service providers, including OpenAI, Hugging Face, Ollama, and LlamaFile). See the documentation on custom request settings for more details.
Improved Workspace Agent
Theia 1.56 brings significant improvements to the workspace AI agent, enhancing its functionality and user experience. The updates include refined functions for querying workspace directories and files, improved error handling, and a more intuitive prompt (see this Pull Request). Specifically, it is now smarter when navigating large workspaces, such as the Theia codebase. As an example, as shown in the video below, it easily finds code locations. You can also ask it to do changes or add new implementations. We will soon publish more demos on how this works in practice.
In addition, new preferences allow users to exclude specific files and directories from workspace-related operations (see this Pull Request). Files and folders can be ignored via .gitignore files or custom patterns in user settings. These files will then simply be ignored by the agent when navigating the workspace.
Improved Theia AI Chat Widget
Theia 1.56 introduces significant enhancements and improvements to the AI chat widget, making it more interactive and transparent for users.
One of the key improvements is the ability for custom chat agents to request specific inputs from users during interactions. This new functionality allows for more dynamic and tailored conversations. As you can see in the example below, the chat agent asks the user questions and waits for their response before continuing.
Additionally, the chat widget now displays the arguments used during tool calls, giving users a clearer understanding of the actions performed by the underlying LLM (see screenshot below). Finally, hover interactions have been significantly improved. Users can now hover over agents or variables within the chat to access detailed information about their functions and roles (also see screenshot below).
Improved AI-Powered Code Completion
Theia 1.56 introduces several enhancements to its AI code completion feature:
Automatic Inline Completion Disabled by Default: To provide users with greater control, automatic inline completion is now turned off by default. By default, it can be manually triggered via a command (default: ‘SHIFT+SPACE’). Users have very different preferences on how they want to work with AI-powered code completion. We received frequent reports that the “CoPilot Style,” which shows AI-generated code continuously inline without being explicitly triggered, can be quite disturbing to some users. Users can enable this feature manually if desired, to revert to continuous inline suggestions. #14539
Progress Indicator for AI Code Completion: A progress indicator has been added to the status bar, offering visual feedback during the AI code completion process. This is especially useful when working with local models that might take some time to process the request. This indicator disappears if the process is canceled, such as by moving the cursor in the code editor. #14513
Configurable Context Lines for AI Code Completion: A new user setting allows specification of the maximum number of lines used for AI code completion context, enabling customization of the context size according to individual preferences. Again, this is useful when applying smaller models to restrict the input token size. #14537
See more details in the documentation for the AI-powered code completion of the Theia IDE.
The Theia IDE AI-powered code completion is still in its experimental phase. While the adaptability of Theia AI allows connection to arbitrary models from different providers and adapting the prompt and request settings to it, using a specific custom model for code completion might still require significant customization to work perfectly. We are evaluating the way forward, but will probably, from a project point of view, aim at supporting one or two default options. This is also due to the fact that there are many open code completion solutions out there already that focus on supporting specific models. Keep in mind that you can install VS Code extensions into Theia and Theia IDE, so you have access to solutions such as “llm-ls” that support StarCoder and other models well. If you are interested in contributing to this, please get in contact with us.
Support for Prompt Variants
Theia AI 1.56 introduces enhanced support for prompt variants. Tool builders can define multiple prompts per agent and seamlessly switch between them. In the Theia IDE, this option is exposed to the end user, who can select their preferred variant through the settings, enabling customization of AI interactions or adaptations to LLM specifics. Please note that the Theia IDE also allows editing all available prompts.
Additionally, comments can now be included within prompt templates, facilitating better documentation and clarity.
The community is warmly invited to contribute well-crafted prompt templates to enhance Theia’s AI interaction capabilities. Whether you’ve designed prompts tailored for specific use cases, have innovative ideas to share or tailored a prompt for a specific LLM, your contributions can make a significant impact. Join the conversation and submit your templates in the dedicated discussion category here.
Enhanced AI History View
Theia 1.56 enhances the AI History view, a vital tool for both developers and tool builders working on AI-powered applications. The history view shows the communication history between Theia AI and underlying LLMs and can optionally be included in tools, e.g. for debugging purposes. The Theia IDE includes the history view by default to provide full transparency. With 1.56, the AI history view supports streaming and clearly separates the actual user request from the used context (e.g. the system prompt). This improvement provides clearer insights into AI interactions, facilitating more effective debugging and continuous enhancement of AI features.
As always, the 1.56 release contains much more than described in this article, e.g. the support for the VS Code extension API has been upgraded to support 1.95.1 and the file access of Theia’s browser only mode has been switched to the native Browser API OPFS. All these features and improvements (in total 62) 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 subscribe 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, for AI-powered tools, 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!