Theia-based IDEs

This section describes how to provide a custom IDE, based on Eclipse Theia framework.

To use a Theia-based IDE in Eclipse Che as an editor, you need to prepare two main components:

  • a Docker image containing your IDE

  • the Che editor descriptor file - meta.yaml

Procedure
  1. Describe the IDE with an editor descriptor - meta.yaml file:

    version: 1.0.0
    editors:
      - id: eclipse/che-theia/next
        title: Eclipse Theia development version.
        displayName: theia-ide
        description: Eclipse Theia, get the latest release each day.
        icon: https://raw.githubusercontent.com/theia-ide/theia/master/logo/theia-logo-no-text-black.svg?sanitize=true
        repository: https://github.com/eclipse/che-theia
        firstPublicationDate: "2021-01-01"
        endpoints:
          - name: "theia"
            public: true
            targetPort: 3100
            attributes:
              protocol: http
              type: ide
              secure: true
              cookiesAuthEnabled: true
              discoverable: false
        containers:
          - name: theia-ide
            image: "<your-ide-image>"
            mountSources: true
            ports:
              - exposedPort: 3100
            memoryLimit: "512M"

    targetPort and exposedPort must be the same as the Theia-based IDE running inside the container. Replace <your-ide-image> with the name of the IDE image. The meta.yaml file should be publicly accessible through an HTTP(S) link.

  2. Add your editor to a Devfile:

    apiVersion: 1.0.0
    metadata:
      name: che-theia-based-ide
    components:
      - type: cheEditor
        reference: '<meta.yaml URL>'

    <meta.yaml URL> should point to the publicly hosted meta.yaml file described in the previous step.