4.4. CodeReady Workspaces での Visual Studio Code 拡張機能のテスト
Visual Studio Code (VS Code) 拡張機能はワークスペースで機能します。VS Code 拡張機能は、Che-Theia エディターコンテナー、またはその前提条件を満たした独自の分離され、事前に設定されたコンテナーで実行されます。
本セクションでは、ワークスペースを使用して CodeReady Workspaces で VS Code 拡張をテストする方法と、VS Code 拡張の互換性を確認し、特定の API が利用可能かどうかを確認する方法を説明します。
extension-hosting サイドカーコンテナーおよび devfile での拡張機能の使用は任意です。
4.4.1. GitHub gist を使用した VS Code 拡張機能のテスト リンクのコピーリンクがクリップボードにコピーされました!
各ワークスペースには独自のプラグインセットを使用できます。プラグインの一覧、およびクローンを作成するプロジェクトの一覧は、devfile.yaml
ファイルで定義されます。
たとえば、Red Hat CodeReady Workspaces ダッシュボードから AsciiDoc プラグインを有効にするには、以下のスニペットを devfile に追加します。
components: - id: joaopinto/vscode-asciidoctor/latest type: chePlugin
components:
- id: joaopinto/vscode-asciidoctor/latest
type: chePlugin
デフォルトのプラグインレジストリーにないプラグインを追加するには、カスタムプラグインレジストリーをビルドします。https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.7/html-single/administration_guide/index#customizing-the-registries_crw を参照してください。または、代わりに GitHub および gist サービスを使用します。
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、「CodeReady Workspaces の インストール 」を参照してください。
- GitHub アカウント。
手順
-
gist Webページに移動し、
README.md
ファイルを作成します。これには、説明Try Bracket Pair Colorizer extension in Red Hat CodeReady Workspaces
およびコンテンツExample VS Code extension
を含みます。(Bracket Pair Colorizer はよく使用される VS Code 拡張機能です。) - ボタンをクリックします。
ブラウザーのナビゲーションバーの URL を使用して、gist リポジトリーのクローンを作成します。
git clone https://gist.github.com/<your-github-username>/<gist-id>
$ git clone https://gist.github.com/<your-github-username>/<gist-id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow git clone
コマンドの出力例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 各 gist には固有の ID があります。
ディレクトリーを変更します。
cd <gist-directory-name>
$ cd <gist-directory-name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- gist ID に一致するディレクトリー名。
- VS Code marketplace または GitHub ページ からプラグインをダウンロードし、プラグインファイルをクローン作成されたディレクトリーに保存します。
クローン作成されたディレクトリーに
plugin.yaml
ファイルを作成し、このプラグインの定義を追加します。.vsix
バイナリーファイルの拡張を参照するplugin.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow メモリー制限およびボリュームを定義します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow plugin.yaml
ファイルを参照するdevfile.yaml
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- その他の devfile 定義も使用できます。この devfile の重要な情報は、この外部コンポーネントを定義する行になります。これは、外部参照が (デフォルトプラグインレジストリーの定義を参照する ID ではなく) プラグインを定義することを意味します。
現在の Git ディレクトリーに 4 つのファイルがあることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルをコミットする前に、pre-commit フックを追加して、
{{REPOSITORY}}
変数を公開されている外部の未加工 gist リンクに対して更新します。以下の内容で
.git/hooks/pre-commit
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow フックは
{{REPOSITORY}}
マクロを置き換え、外部の未加工リンクを gist に追加します。スクリプトを実行可能にします。
chmod u+x .git/hooks/pre-commit
$ chmod u+x .git/hooks/pre-commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ファイルをコミットし、プッシュします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gist の Web サイトにアクセスし、すべてのリンクに正しい公開 URL があり、
{{REPOSITORY}}
変数が含まれていないことを確認します。devfile に到達するには、以下を実行します。echo "$(git config --get remote.origin.url)/raw/devfile.yaml"
$ echo "$(git config --get remote.origin.url)/raw/devfile.yaml"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または
echo "https://<che-server>/f?url=$(git config --get remote.origin.url)/raw/devfile.yaml"
$ echo "https://<che-server>/f?url=$(git config --get remote.origin.url)/raw/devfile.yaml"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow