Adding tools to Che after creating a workspace

When installed in a workspace, Che plug-ins bring new capabilities to Che. Plug-ins consist of a Che-Theia plug-in, metadata, and a hosting container. These plug-ins may provide the following capabilities:

  • Integrating with other systems, including Kubernetes or OpenShift.

  • Automating some developer tasks, such as formatting, refactoring, and running automated tests.

  • Communicating with multiple databases directly from the IDE.

  • Enhanced code navigation, auto-completion, and error highlighting.

This chapter provides basic information about installing, enabling, and using Che plug-ins in workspaces.

Additional tools in the Che workspace

Che plug-ins are extensions to the Che-Theia IDE that come bundled with container images. These images contain the native prerequisites of their respective extensions. For example, the OpenShift command-line tool is bundled with a command to install it, which ensures the proper functionality of the OpenShift Connector plug-in, all available in the dedicated image.

Plug-ins can also include metadata to define a description, categorization tags, and an icon. Che provides a registry of plug-ins available for installation into the user’s workspace.

The Che-Theia IDE is generally compatible with the VS Code extensions API and VS Code extensions are automatically compatible with Che-Theia. These extensions are possible to package as Che plug-ins by combining them with their dependencies. By default, Che includes a plug-in registry containing common plug-ins.

Adding a plug-in
  • Using the Dashboard:

    • Add a plug-in directly into a devfile using the Devfile tab.

      The devfile can also further the plug-in configuration, such as defining memory or CPU consumption.

  • Using the Che-Theia IDE:

    • By pressing Ctrl+Shift+J or by navigating to View → Plugins.

Additional resources

Adding a language support plug-in to a Che workspace

This procedure describes adding a tool to a created workspace by enabling a dedicated plug-in from the Dashboard.

Prerequisites
  • A running instance of Che.

  • A created workspace that is defined in this instance of Eclipse Che.

  • The workspace must be in a stopped state.

    The steps to stop a workspace:

    1. Navigate to the Che Dashboard, as explained in Navigating Che using the Dashboard.

    2. In the Dashboard, click the Workspaces menu to open the workspaces list and locate the workspace.

    3. On the same row with the displayed workspace, on the right side of the screen, click Stop to stop the workspace.

    4. Wait a few seconds for the workspace to stop, and then configure the workspace by selecting it.

Procedure

To add a plug-in from the plug-in registry to a created Che workspace, install the plug-in as follows by adding content to the devfile:

  1. Navigate to the Devfile tab, where the devfile YAML is displayed.

  2. In the components devfile section, add the following lines: id and type.

    Example: Adding the Java 8 language plugin
     - id: redhat/java8/latest
       type: chePlugin
    Example: The end result
    components:
     - id: redhat/php/latest
       memoryLimit: 1Gi
       type: chePlugin
     - id: redhat/php-debugger/latest
       memoryLimit: 256Mi
       type: chePlugin
     - mountSources: true
       endpoints:
         - name: 8080/tcp
           port: 8080
       memoryLimit: 512Mi
       type: dockerimage
       volumes:
         - name: composer
           containerPath: /home/user/.composer
         - name: symfony
           containerPath: /home/user/.symfony
       alias: php
       image: 'quay.io/eclipse/che-php-7:nightly'
     - id: redhat/java8/latest
       type: chePlugin
  3. Click Save to save the changes.

  4. Restart the workspace.

  5. Verify that the workspace includes the new plug-in.

Additional resources