-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Code Improvement Areas
Thomas Mäder edited this page Nov 29, 2022
·
2 revisions
As in any piece of software, there are areas in the Theia source code where we didn't quite get the design right the first time. This document lists area where we think changing the design would make it simpler to evolve the code and deliver better quality. The idea is to maintain a top-3 to be fleshed out into epics for adopters/contributors to sign up for like we did for VS Code compatibility.
- Tasks
The tasks system suffers form the fact that we do not distinguish between the text in a
tasks.json
file and the task configuration objects that we use internally. We start our task object hierarchy withTaskCustomization
which is basically just thetasks.json
schema expressed as a Typescript interface. I believe the code would become much easier to understand (and thus less buggy) if we clearly separated the two concepts. Task Customizations from json files are applied to the task objects defined by the system or plugins, but customizations and configuratitions are not the same. As a quick example: the values fortaskGroup
intasks.json
isbuild | test
whereas in the API there are move values allowed. This leads to all kinds of gymnastics when converting types. - Debugger
Currently we have a
DebugService
and aPluginDebugService
which entirely replaces it. The point of variability here should not be the debug service, but the debugger contributions. Here's an issue related to this: https://github.com/eclipse-theia/theia/issues/11121
Project Management
- Roadmap
- Dev Meetings
- Technical Meetings
- Community Call
- Intellectual Property (IP) guide
- Registering CQs (Deprecated)
Documentation