Git Product home page Git Product logo

che-theia's Introduction


Build Status Build Status mattermost Open questions Open bugs

Che-Theia

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.

  • A VSCode-like IDE experience. Che-Theia is based on the monaco editor and includes features like the command pallete.
  • VSCode extension compatibility. Che-Theia supports VSCode extensions. In Che-theia, these extensions could come with a side-car containers with all the dependencies required by the extension. No need to install the JDK or Maven when you install our VSCode Java plugin.
  • Nice views to interact with your user containers or production runtime containers. (Terminal access, execute Che-commands in specific containers, etc...)

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:

  • Using a Docker multistage build and dockerfiles/theia-dev as builder.
  • Cloning Theia
  • Using che-theia init command to decorate Theia with Che-theia plugins and extensions. All plugins and extensions are defined in che-theia-init-sources.yml
  • Using yarn to build theia + che-theia extensions + che-theia plugins
  • Assembling everything and using che-theia production to make the che-theia webapp.
  • Copying the che-theia webapp into the runtime container and creating the Che-theia image.

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 refere 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/index.html#joining-the-community

Che-Theia is mainly maintained by the Che IDE2 team a.k.a Selene. You are very welcome to join our community chat here to discuss about improvements, bug fixes and anything else.

Report issues

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

che-theia's People

Contributors

benoitf avatar evidolob avatar andrienkoaleksandr avatar azatsarynnyy avatar mmorhun avatar romannikitenko avatar vitaliy-guliy avatar tolusha avatar vinokurig avatar sunix avatar monaka avatar vzhukovs avatar nickboldt avatar olexii4 avatar vparfonov avatar akurinnoy avatar pradeepmalji avatar svor avatar davidfestal avatar apupier avatar metlos avatar ashumilova avatar arajkumar avatar ibuziuk avatar l0rd avatar aaqaishtyaq avatar jpinkney avatar sparkoo avatar rhopp avatar vrubezhny avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.