6.3. デフォルトの拡張機能の設定
デフォルトの拡張機能は、プリインストールされた拡張機能のセットです。これは、拡張機能のバイナリー .vsix
ファイルのパスを DEFAULT_EXTENSIONS 環境変数に設定することで指定されます。
起動後、エディターはこの環境変数を確認し、指定されていれば拡張機能のパスを取得し、ユーザーの作業を妨げることなくバックグラウンドでインストールします。
デフォルトの拡張機能の設定は、エディターレベルで .vsix 拡張機能をインストールする場合に便利です。
複数の拡張機能を指定する場合は、セミコロンで区切ります。
DEFAULT_EXTENSIONS='/projects/extension-1.vsix;/projects/extension-2.vsix'
DEFAULT_EXTENSIONS='/projects/extension-1.vsix;/projects/extension-2.vsix'
DEFAULT_EXTENSIONS 環境変数を定義する方法について、.vsix
ファイルをワークスペースに追加する複数の例を交えて説明します。
デフォルトの .vsix
拡張機能をワークスペースに組み込むには、次の 3 つの方法があります。
- 拡張機能のバイナリーをソースリポジトリーに配置します。
-
devfile の
postStart
イベントを使用して、ネットワークから拡張機能のバイナリーを取得します。 -
拡張機能の
.vsix
バイナリーをche-code
イメージに追加します。
拡張機能のバイナリーをソースリポジトリーに配置する
拡張バイナリーを Git リポジトリーに配置し、devfile で環境変数を定義するのが、デフォルトの拡張機能をワークスペースに追加する最も簡単な方法です。extension.vsix
ファイルがリポジトリーのルートに存在する場合は、ツールコンテナーに DEFAULT_EXTENSIONS を設定できます。
手順
以下の例のように、
.devfile.yaml
で DEFAULT_EXTENSIONS を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
devfile の postStart イベントを使用してネットワークから拡張機能のバイナリーを取得する
cURL または GNU Wget を使用して、拡張機能をワークスペースにダウンロードできます。そのためには、以下を行う必要があります。
- 拡張機能をワークスペースにダウンロードするための devfile コマンドを指定する
-
postStart
イベントを追加して、ワークスペースの起動時にコマンドを実行する - devfile で DEFAULT_EXTENSIONS 環境変数を定義する
手順
以下の例に示されている値を devfile に追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告curl で
.gzip
圧縮ファイルをダウンロードする場合があります。これにより、拡張機能をインストールできなくなる可能性があります。これを修正するには、ファイルを .vsix.gz ファイルとして保存してから、gunzip で展開してみてください。これにより、.vsix.gz ファイルが展開された .vsix ファイルに置き換えられます。curl https://some-extension-url --location -o /tmp/extension.vsix.gz gunzip /tmp/extension.vsix.gz
curl https://some-extension-url --location -o /tmp/extension.vsix.gz gunzip /tmp/extension.vsix.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
che-code
イメージに拡張機能の .vsix
バイナリーを追加する
エディターイメージにバンドルされているデフォルトの拡張機能と、ConfigMap で定義した DEFAULT_EXTENSIONS 環境変数を使用すると、devfile を変更せずにデフォルトの拡張機能を適用できます。
以下の手順に従って、必要な拡張機能をエディターイメージに追加します。
手順
-
ディレクトリーを作成し、選択した
.vsix
拡張機能をこのディレクトリーに配置します。 以下の内容で Dockerfile を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージをビルドし、これをレジストリーにプッシュします。
docker build -t yourname/che-code:next . docker push yourname/che-code:next
$ docker build -t yourname/che-code:next . $ docker push yourname/che-code:next
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい ConfigMap をユーザーのプロジェクトに追加し、DEFAULT_EXTENSIONS 環境変数を定義して、拡張機能の絶対パスを指定します。この ConfigMap は、環境変数をユーザーのプロジェクトのすべてのワークスペースに設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yourname/che-code:next
イメージを使用してワークスペースを作成します。まず、ダッシュボードを開き、左側の Create Workspace タブに移動します。- Editor Selector セクションで、Use an Editor Definition ドロップダウンを展開し、エディターの URI を Editor Image に設定します。
- サンプルをクリックするか、Git リポジトリー URL を使用してワークスペースを作成します。