6.3. デフォルトの拡張機能の設定


デフォルトの拡張機能は、プリインストールされた拡張機能のセットです。これは、拡張機能のバイナリー .vsix ファイルのパスを DEFAULT_EXTENSIONS 環境変数に設定することで指定されます。

起動後、エディターはこの環境変数を確認し、指定されていれば拡張機能のパスを取得し、ユーザーの作業を妨げることなくバックグラウンドでインストールします。

デフォルトの拡張機能の設定は、エディターレベルで .vsix 拡張機能をインストールする場合に便利です。

注記

複数の拡張機能を指定する場合は、セミコロンで区切ります。

  DEFAULT_EXTENSIONS='/projects/extension-1.vsix;/projects/extension-2.vsix'
Copy to Clipboard Toggle word wrap

DEFAULT_EXTENSIONS 環境変数を定義する方法について、.vsix ファイルをワークスペースに追加する複数の例を交えて説明します。

デフォルトの .vsix 拡張機能をワークスペースに組み込むには、次の 3 つの方法があります。

  • 拡張機能のバイナリーをソースリポジトリーに配置します。
  • devfile の postStart イベントを使用して、ネットワークから拡張機能のバイナリーを取得します。
  • 拡張機能の .vsix バイナリーを che-code イメージに追加します。

拡張機能のバイナリーをソースリポジトリーに配置する

拡張バイナリーを Git リポジトリーに配置し、devfile で環境変数を定義するのが、デフォルトの拡張機能をワークスペースに追加する最も簡単な方法です。extension.vsix ファイルがリポジトリーのルートに存在する場合は、ツールコンテナーに DEFAULT_EXTENSIONS を設定できます。

手順

  • 以下の例のように、.devfile.yamlDEFAULT_EXTENSIONS を指定します。

    schemaVersion: 2.3.0
    metadata:
      generateName: example-project
    components:
      - name: tools
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-latest
          env:
            - name: 'DEFAULT_EXTENSIONS'
              value: '/projects/example-project/extension.vsix'
    Copy to Clipboard Toggle word wrap

devfile の postStart イベントを使用してネットワークから拡張機能のバイナリーを取得する

cURL または GNU Wget を使用して、拡張機能をワークスペースにダウンロードできます。そのためには、以下を行う必要があります。

  • 拡張機能をワークスペースにダウンロードするための devfile コマンドを指定する
  • postStart イベントを追加して、ワークスペースの起動時にコマンドを実行する
  • devfile で DEFAULT_EXTENSIONS 環境変数を定義する

手順

  • 以下の例に示されている値を devfile に追加します。

    schemaVersion: 2.3.0
    metadata:
      generateName: example-project
    components:
      - name: tools
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-latest
          env:
            - name: DEFAULT_EXTENSIONS
              value: '/tmp/extension-1.vsix;/tmp/extension-2.vsix'
    
    commands:
      - id: add-default-extensions
        exec:
          # name of the tooling container
          component: tools
          # download several extensions using curl
          commandLine: |
            curl https://.../extension-1.vsix --location -o /tmp/extension-1.vsix
            curl https://.../extension-2.vsix --location -o /tmp/extension-2.vsix
    
    events:
      postStart:
        - add-default-extensions
    Copy to Clipboard Toggle word wrap
    警告

    curl で .gzip 圧縮ファイルをダウンロードする場合があります。これにより、拡張機能をインストールできなくなる可能性があります。これを修正するには、ファイルを .vsix.gz ファイルとして保存してから、gunzip で展開してみてください。これにより、.vsix.gz ファイルが展開された .vsix ファイルに置き換えられます。

    curl https://some-extension-url --location -o /tmp/extension.vsix.gz
    gunzip /tmp/extension.vsix.gz
    Copy to Clipboard Toggle word wrap

che-code イメージに拡張機能の .vsix バイナリーを追加する

エディターイメージにバンドルされているデフォルトの拡張機能と、ConfigMap で定義した DEFAULT_EXTENSIONS 環境変数を使用すると、devfile を変更せずにデフォルトの拡張機能を適用できます。

以下の手順に従って、必要な拡張機能をエディターイメージに追加します。

手順

  • ディレクトリーを作成し、選択した .vsix 拡張機能をこのディレクトリーに配置します。
  • 以下の内容で Dockerfile を作成します。

    # inherit che-incubator/che-code:latest
    FROM quay.io/che-incubator/che-code:latest
    USER 0
    
    # copy all .vsix files to /default-extensions directory
    RUN mkdir --mode=775 /default-extensions
    COPY --chmod=755 *.vsix /default-extensions/
    
    # add instruction to the script to copy default extensions to the working container
    RUN echo "cp -r /default-extensions /checode/" >> /entrypoint-init-container.sh
    Copy to Clipboard Toggle word wrap
  • イメージをビルドし、これをレジストリーにプッシュします。

    $ docker build -t yourname/che-code:next .
    $ docker push yourname/che-code:next
    Copy to Clipboard Toggle word wrap
  • 新しい ConfigMap をユーザーのプロジェクトに追加し、DEFAULT_EXTENSIONS 環境変数を定義して、拡張機能の絶対パスを指定します。この ConfigMap は、環境変数をユーザーのプロジェクトのすべてのワークスペースに設定します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: vscode-default-extensions
      labels:
        controller.devfile.io/mount-to-devworkspace: 'true'
        controller.devfile.io/watch-configmap: 'true'
      annotations:
        controller.devfile.io/mount-as: env
    data:
      DEFAULT_EXTENSIONS: '/checode/default-extensions/extension1.vsix;/checode/default-extensions/extension2.vsix'
    Copy to Clipboard Toggle word wrap
  • yourname/che-code:next イメージを使用してワークスペースを作成します。まず、ダッシュボードを開き、左側の Create Workspace タブに移動します。

    1. Editor Selector セクションで、Use an Editor Definition ドロップダウンを展開し、エディターの URI を Editor Image に設定します。
    2. サンプルをクリックするか、Git リポジトリー URL を使用してワークスペースを作成します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat