Using IntelliJ Idea Community Edition

Procedure
  1. Clone the che-editor-intellij-community repository, which is needed to build IntelliJ Idea Community Edition located under the che-incubator organization.

  2. Build IntelliJ Idea Community Edition by calling the following command inside the repository folder:

    $ podman build -t idea-ic --build-arg PRODUCT_NAME=ideaIC .

    This command builds an image with a 2020.2.3 version by default.

  3. Tag and push the built image to a user repository:

    $ podman tag idea-ic:latest <username>/idea-ic:latest
    $ podman push <username>/idea-ic:latest
  4. Use this image as the Che editor. To achive this, create two YAML configuration files:

    • workspace.yaml – workspace configuration. Do not forget to provide a correct URL to the meta.yaml file:

      metadata:
        name: che-ideaic
      components:
        - type: cheEditor
          reference: '<URL to the meta.yaml>'
          alias: ideaic-editor
      apiVersion: 1.0.0
    • meta.yaml – Che editor configuration. Do not forget to replace <username> with the user name of the repository to which the image is pushed:

      apiVersion: v2
      publisher: <username>
      name: ideaic-NOVNC
      version: 2020.2.3
      type: Che Editor
      displayName:  IntelliJ IDEA Community Edition
      title:  IntelliJ IDEA Community Edition (in browser using noVNC) as editor for Eclipse Che
      description:  IntelliJ IDEA Community Edition running on the Web with noVNC
      icon: https://resources.jetbrains.com/storage/products/intellij-idea/img/meta/intellij-idea_logo_300x300.png
      category: Editor
      repository: https://github.com/che-incubator/che-editor-intellij-community
      firstPublicationDate: "2020-10-27"
      spec:
        endpoints:
         - name: "intellij"
           public: true
           targetPort: 8080
           attributes:
             protocol: http
             type: ide
             path: /vnc.html?resize=remote&autoconnect=true&reconnect=true
        containers:
         - name: ideaic-novnc
           image: "<username>/idea-ic:latest"
           mountSources: true
           volumes:
            - mountPath: "/JetBrains/ideaIC"
              name: ideaic-configuration
           ports:
            - exposedPort: 8080
           memoryLimit: "2048M"