第4章 IDE 拡張機能の管理
IDE は拡張機能またはプラグインを使用して機能を拡張します。拡張機能を管理するメカニズムは IDE によって異なります。
4.1. Microsoft Visual Studio Code の拡張機能 - オープンソース
拡張機能を管理するために、この IDE は次の Open VSX レジストリーインスタンスのいずれかを使用します。
-
エアギャップ環境、オフライン環境、およびプロキシー制限環境をサポートする OpenShift Dev Spaces の
プラグインレジストリー
Pod で実行される Open VSX レジストリーの組み込みインスタンス。組み込みの Open VSX レジストリーには、open-vsx.org で公開されている拡張機能のサブセットのみが含まれています。このサブセットは カスタマイズ可能 です。 - インターネット経由でアクセスされるパブリック open-vsx.org レジストリー。
- OpenShift Dev Spaces ワークスペース Pod からアクセスできるネットワーク上にデプロイされるスタンドアロンの Open VSX レジストリーインスタンス。
デフォルトは、Open VSX レジストリーの埋め込みインスタンスです。
4.1.1. Open VSX レジストリーインスタンスの選択
デフォルトは、Open VSX レジストリーの埋め込みインスタンスです。
デフォルトの Open VSX レジストリーインスタンスが必要なものではない場合は、次のいずれかのインスタンスを選択できます。
-
インターネットへのアクセスを必要とする、
https://open-vsx.org
の Open VSX レジストリーインスタンス。 - OpenShift Dev Spaces ワークスペース Pod からアクセスできるネットワーク上にデプロイされるスタンドアロンの Open VSX レジストリーインスタンス。
手順
CheCluster
カスタムリソースのopenVSXURL
値を編集します。spec: components: pluginRegistry: openVSXURL: "<url_of_an_open_vsx_registry_instance>" 1
- 1
- 例:
openVSXURL: "https://open-vsx.org"
ヒント-
plugin-registry
Pod に組み込まれた Open VSX レジストリーインスタンスを選択するには、openVSXURL: ''
を使用します。含まれる拡張機能のリストをカスタマイズ できます。 -
また、その URL が組織のクラスター内からアクセス可能であり、プロキシーによってブロックされていない場合は、スタンドアロンの Open VSX レジストリーインスタンスの URL で
openVSXURL
を指すこともできます。
4.1.2. 組み込みの Open VSX レジストリーインスタンスでの拡張機能の追加または削除
埋め込まれた Open VSX レジストリーインスタンスの拡張機能を追加または削除できます。これにより、組織のワークスペースで使用できる Open VSX レジストリーのカスタムビルドが作成されます。
OpenShift Dev Spaces の更新後に最新のセキュリティー修正を取得するには、最新のタグまたは SHA に基づいてコンテナーを再構築します。
手順
選択した各拡張機能の発行元と名前を取得します。
- Open VSX レジストリー Web サイト で拡張機能を見つけ、拡張機能のリストページの URL をコピーします。
コピーした URL から <publisher> と <extension> の名前を抽出します。
https://www.open-vsx.org/extension/<publisher>/<extension>
ヒント拡張機能が Microsoft Visual Studio Marketplace からのみ入手可能で、Open VSX からは入手できない場合は、拡張機能の発行者に、これらの 手順 に従って open-vsx.org にも公開するように依頼できます。この GitHub アクション を使用する可能性があります。
拡張機能の発行者がいない場合や、または拡張機能を open-vsx.org に公開してくれない場合、および拡張機能に相当する Open VSX がない場合は、Open VSX チームに 問題を報告する ことを検討してください。
- プラグインレジストリーリポジトリー をダウンロードするか、フォークしてクローンします。
追加または削除する必要がある拡張機能ごと に、
openvsx-sync.json
ファイル を編集します。-
拡張機能を追加するには、発行元と拡張機能の名前を
openvsx-sync.json
ファイルに追加します。 -
拡張機能を削除するには、
openvsx-sync.json
ファイルから発行元と拡張機能の名前を削除します。 次の JSON 構文を使用します。
{ "id": "<publisher>.<extension>" }
ヒント-
open-vsx.org の最新の拡張バージョンがデフォルトです。または、新しい行に
"version": "<extension_version>"
を追加して、バージョンを指定することもできます。 クローズドソースの拡張機能または社内の内部使用のみを目的として開発された拡張機能がある場合は、カスタムプラグインレジストリーコンテナーにアクセスできる URL を使用して、
.vsix
ファイルから直接、拡張機能を追加できます。{ "id": "<publisher>.<extension>", "download": "<url_to_download_vsix_file>", "version": "<extension_version>" }
- リソースを使用する前に、Microsoft Visual Studio Marketplace の 利用規約 をお読みください。
-
open-vsx.org の最新の拡張バージョンがデフォルトです。または、新しい行に
-
拡張機能を追加するには、発行元と拡張機能の名前を
プラグインレジストリーコンテナーイメージをビルドし、quay.io などのコンテナーレジストリーに公開します。
$ ./build.sh -o <username> -r quay.io -t custom
$ podman push quay.io/<username/plugin_registry:custom>
イメージ (quay.io など) を指すように、社内のクラスター内の
CheCluster
カスタムリソースを編集し、変更を保存します。spec: components: pluginRegistry: deployment: containers: - image: quay.io/<username/plugin_registry:custom> openVSXURL: ''
検証
-
plugin-registry
Pod が再始動して実行中であることを確認します。 - ワークスペースを再起動し、ワークスペース IDE の 拡張機能 ビューで使用可能な拡張機能を確認します。