此内容没有您所选择的语言版本。

Chapter 5. Selecting a workspace IDE


The default in-browser IDE in a new workspace is Che Theia.

You can select another supported in-browser IDE by either method:

Table 5.1. Supported in-browser IDEs
IDEidNote

Che-Theia

eclipse/che-theia/latest

Default editor when the URL parameter or che-editor.yaml is not used

Visual Studio Code - Open Source

che-incubator/che-code/insiders

Technology Preview

IntelliJ IDEA Community

che-incubator/che-idea/latest

Technology Preview

5.1. Selecting an in-browser IDE for a new workspace by using a URL parameter

You can select your preferred in-browser IDE when starting a new workspace. This is the easiest way and it doesn’t affect your other workspaces or other users.

Procedure

  1. Include the URL parameter for the workspace IDE in the URL for starting a new workspace. See Section 2.2.2, “URL parameter for the workspace IDE”.
  2. Visit the URL in the browser. See Section 2.1, “Starting a new workspace with a clone of a Git repository”.

5.2. Specifying an in-browser IDE for a Git repository by using che-editor.yaml

5.2.1. Using the OpenShift Dev Spaces editor file to select an IDE

Use the che-editor.yaml file to define a default IDE for the project users. For a list of supported IDs, see Optional parameters for the URLs for starting a new workspace.

Procedure

  1. Place the che-editor.yaml file in the .che folder in the root directory of your project.
  2. In the che-editor.yaml file, specify the ID of the IDE you are selecting. For example:

    id: che-incubator/che-idea/latest

Additional resources

  • Check the sample file sample here.
  • Load experimental new IDEs from the default plug-in registry by using the IDs shown in che-editors.yaml.

5.2.2. Customizing IDE selection with the che-editor.yaml file

You can further customize your IDE selection to suit the specific needs of the project by adding various directives to the che-editor.yaml file. These customization options include following directives:

  • Custom plug-in registry
  • Web reference
  • Embedded editor definition

5.2.3. Using a custom plug-in registry for your IDE

To include different IDEs than the default list in the OpenShift Dev Spaces plug-in registry, use an optional registryUrl directive.

Procedure

  • Set an optional registryUrl directive in your che-editor.yaml file. For example:

    id: eclipse/che-theia/next            # mandatory
    registryUrl: https://my-registry.com  # optional
    override:                             # optional
      containers:
        - name: theia-ide
          memoryLimit: 1280Mi

5.2.4. Using a web reference for your IDE

Use a web reference for your IDE by pointing at a YAML file with the reference directive.

Procedure

  • Set a reference directive in your che-editor.yaml file. For example:

    reference: https://gist.github.com/.../che-editor.yaml # mandatory
    override:                                              # optional
      containers:
          - name: theia-ide
            memoryLimit: 1280Mi

5.2.5. Using an embedded editor definition for your IDE

If you have specific requirements for your project that aren’t addressed by standard IDE behaviour, you can customize the project IDE by using the inline directive to put a complete IDE definition in the che-editor.yaml file.

Procedure

  • Set an inline directive in your che-editor.yaml file. For example:

    inline:
      endpoints:
        - name: "theia"
          public: true
          targetPort: 3100
          attributes:
            protocol: http
            type: ide
            secure: true
            cookiesAuthEnabled: true
            discoverable: false
        (...)
      containers:
        - name: theia-ide
          image: "quay.io/eclipse/che-theia:next"
          env:
            - name: THEIA_PLUGINS
              value: local-dir:///plugins
          volumeMounts:
            - name: plugins
              path: "/plugins"
            - name: theia-local
              path: "/home/theia/.theia"
          mountSources: true
          ports:
            - exposedPort: 3100
          memoryLimit: "512M"
          cpuLimit: 1000m
          cpuRequest: 100m
      initContainers:
        - name: remote-runtime-injector
          image: "quay.io/eclipse/che-theia-endpoint-runtime-binary:next"
          volumeMounts:
            - name: remote-endpoint
              path: "/remote-endpoint"
              ephemeral: true
          env:
            - name: PLUGIN_REMOTE_ENDPOINT_EXECUTABLE
              value: /remote-endpoint/plugin-remote-endpoint
            - name: REMOTE_ENDPOINT_VOLUME_NAME
              value: remote-endpoint
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.