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