5.5. CodeReady Workspaces での Visual Studio Code 拡張機能のテスト
Visual Studio Code (VS Code) 拡張機能はワークスペースで機能します。VS Code 拡張機能は、Che-Theia エディターコンテナー、またはその前提条件を満たした独自の分離され、事前に設定されたコンテナーで実行されます。
本セクションでは、ワークスペースを使用して CodeReady Workspaces で VS Code 拡張をテストする方法と、VS Code 拡張の互換性を確認し、特定の API が利用可能かどうかを確認する方法を説明します。
extension-hosting サイドカーコンテナーおよび devfile での拡張機能の使用は任意です。
5.5.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
デフォルトのプラグインレジストリーにないプラグインを追加するには、カスタムプラグインレジストリーをビルドします。レジストリのカスタマイズを参照するか、GitHubとgistサービスを使用してください。
前提条件
- CodeReady Workspaces の実行中のインスタンスがある。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-commitCopy 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>/#$(git config --get remote.origin.url)/raw/devfile.yaml"
$ echo "https://<che-server>/#$(git config --get remote.origin.url)/raw/devfile.yaml"Copy to Clipboard Copied! Toggle word wrap Toggle overflow