eclipse-che / che-theia

Eclipse Public License 2.0
125 stars 111 forks source link


[![Build Status](https://github.com/eclipse-che/che-theia/workflows/Build%20&%20Publish%20%60next%60/badge.svg)](https://github.com/eclipse-che/che-theia/actions?query=workflow%3A%22Build+%26+Publish+%60next%60%22) [![Test Coverage](https://img.shields.io/codecov/c/github/eclipse-che/che-theia)](https://codecov.io/gh/eclipse-che/che-theia) [![mattermost](https://img.shields.io/badge/chat-on%20mattermost-blue.svg)](https://mattermost.eclipse.org/eclipse/channels/eclipse-che) [![Open questions](https://img.shields.io/badge/Open-questions-blue.svg?style=flat-curved)](https://github.com/eclipse/che/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Aarea%2Feditor%2Fche-theia+label%3Akind%2Fquestion+) [![Open bugs](https://img.shields.io/badge/Open-bugs-red.svg?style=flat-curved)](https://github.com/eclipse/che/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Aarea%2Feditor%2Fche-theia+label%3Akind%2Fbug+)
![Che-Theia](https://raw.githubusercontent.com/eclipse-che/che-theia/main/che-theia-screenshot.png)

What is Che-theia ?

Eclipse Che provides a default web IDE for the workspaces which is based on the Theia project. It’s a subtle different version than a plain Theia(https://github.com/eclipse-theia/theia) as there are functionalities that have been added based on the nature of the Eclipse Che workspaces. We are calling this version of Eclipse Theia for Che: Che-Theia.

So, Che-Theia is the default Che editor provided with developer workspaces created in Eclipse Che 7(Github).

Che-Theia contains additional extensions and plugins which have been added based on the nature of Eclipse Che workspaces and to provide the best IDE experience of Theia within Che.

Che-Theia capabilities

In Che-Theia, you’ll find the following capabilities:

Plug-in Description
Che Extended Tasks Handles the Che commands and provides the ability to start those into a specific container of the workspace.
Che Extended Terminal Allows to provide terminal for any of the containers of the workspace.
Che Factory Handles the Eclipse Che Factories [TODO: LINK]
Che Container Provides a container view that shows all the containers that are running in the workspace and allows to interact with them.
Che Dashboard Allows to integrate the IDE with Che Dashboard and facilitate the navigation.
Che Welcome Page Display a welcome page with handy links when opening the IDE.
Che Ports Allows to detect when services are running inside of the workspace and expose them.
Che APIs Extends the IDE APIs, to allow interacting with the Che specific components (workspaces, preferences, etc.).

Project structure

Che-theia editor is a container image which contains the Che-theia IDE web application.

The che-plugin of this editor is defined in the plugin registry https://github.com/eclipse/che-plugin-registry/blob/master/v3/plugins/eclipse/che-theia/next/meta.yaml

dockerfiles/theia folder contains the container image sources of eclipse/che-theia:

Contributing

Contribute to Che-theia

Contributing to che-theia section is cover in CONTRIBUTING.md

Build container images

Building images is required only if you make some changes on Dockerfiles inside dockerfiles folder. If it is about testing che-theia extensions or plugins, please refer to CONTRIBUTING.md.

To build che-theia docker images, please follow dockerfiles/theia/README.md instructions.

License

Join the community

The Eclipse Che community is globally reachable through public chat rooms, mailing list and weekly calls. See https://www.eclipse.org/che/docs/che-7/overview/introduction-to-eclipse-che/#_joining_the_community

Report issues

Issues are tracked on the main Eclipse Che Repository: https://github.com/eclipse/che/issues