5.3. Che プラグインレジストリーへの VS Code 拡張機能の追加


CodeReady Workspaces ワークスペースで VS Code 拡張機能を使用するには、CodeReady Workspaces が拡張機能を記述するメタデータを使用する必要があります。CodeReady Workspaces プラグインレジストリーは、一般的な VS Code 拡張機能についてのメタデータを公開する静的 Web サイトです。CodeReady Workspaces プラグインレジストリーの VS Code 拡張機能メタデータは、che-theia-plugins.yaml という名前の中央ファイルから生成されます。

CodeReady Workspaces プラグインレジストリーの拡張を追加または変更するには、che-theia-plugins.yaml ファイルを編集して、関連するメタデータを追加します。

注記

ここでは、カスタムプラグイン定義を使用してプラグインレジストリーを構築するのに必要な手順を説明します。devfile で直接参照できるカスタム meta.yaml ファイルを作成する場合は、「VS Code 拡張のメタデータの公開」 を参照してください。

前提条件

  • レジストリーのカスタマイズに関する作業知識は、レジストリーのカスタマイズを参照してください。
  • サイドカーコンテナーイメージへのリンク。VS Code 拡張機能で必要なものである必要があります。

手順

  1. che-theia-plugins.yaml ファイルを編集し、新規エントリーを作成します。

    - id: publisher/my-vscode-ext                                    
    1
    
      repository:                                                    
    2
    
        url: https://github.com/publisher/my-vscode-ext              
    3
    
        revision: 1.7.2                                              
    4
    
      aliases:                                                       
    5
    
        - publisher/my-vscode-ext-revised
      preferences:                                                   
    6
    
        asciidoc.use_asciidoctorpdf: true
        shellcheck.executablePath: /bin/shellcheck
        solargraph.bundlerPath: /usr/local/bin/bundle
        solargraph.commandPath: /usr/local/bundle/bin/solargraph
      sidecar:                                                       
    7
    
        image: quay.io/repository/eclipse/che-plugin-sidecar:sonarlint-2fcf341  
    8
    
        name: my-vscode-ext-sidecar                                  
    9
    
        memoryLimit: "1500Mi"                                        
    10
    
        memoryRequest: "1000Mi"                                      
    11
    
        cpuLimit: "500m"                                             
    12
    
        cpuRequest: "125m"                                           
    13
    
        command:                                                     
    14
    
            - /bin/sh
        args:                                                        
    15
    
            - "-c"
            - "./entrypoint.sh"
        volumeMounts:                                                
    16
    
          - name: vscode-ext-volume                                  
    17
    
            path: "/home/theia/my-vscode-ext"                        
    18
    
        endpoints:                                                   
    19
    
          - name: "configuration-endpoint"                           
    20
    
            public: true                                             
    21
    
            targetPort: 61436                                        
    22
    
            attributes:                                              
    23
    
              protocol: http
      extension: https://github.com/redhat-developer/vscode-yaml/releases/download/0.4.0/redhat.vscode-yaml-0.4.0.vsix    
    24
    
      skipDependencies:                                              
    25
    
        - id-of/extension1
        - id-of/extension2
      extraDependencies:                                             
    26
    
        - id-of/extension1
        - id-of/extension2
      metaYaml:
        skipIndex: <true|false>                                      
    27
    
        skipDependencies:                                            
    28
    
          - id-of/extension1
          - id-of/extension2
        extraDependencies:                                           
    29
    
          - id-of/extension1
          - id-of/extension2
    Copy to Clipboard Toggle word wrap
1
(任意) プラグインの ID。プラグインで、1 つのリポジトリーに対して複数のエントリーがある場合に役に立ちます(例: Java 8 の Java 11 の比較)。
2
プラグインのリポジトリー情報。ID が指定されている場合、このフィールドはリスト要素ではありません。
3
拡張の git リポジトリーへの URL。
4
バージョン、スナップショット、またはリリースに対応する、拡張機能をホストするアップストリームリポジトリのタグまたはSHA1 ID。
5
(任意) このプラグインのエイリアス: これは、ここに記載されている内容はすべて独自の meta.yaml ファイルを生成することを意味します。
6
(任意) フリーフォーム形式のプラグイン設定。
7
(任意) プラグインがサイドカーコンテナーで実行される場合は、ここにサイドカーコンテナー情報が指定されます。
8
プラグインサイドカーとして使用されるコンテナイメージの場所。この行は directory と同時に指定することはできません(上記を参照)。
9
(任意) サイドカーコンテナーの名前
10
(任意) サイドカーコンテナーのメモリー制限
11
(任意) サイドカーコンテナーのメモリー要求
12
(任意) サイドカーコンテナーの CPU 制限
13
(任意) サイドカーコンテナーの CPU 要求
14
(任意) コンテナー内の root プロセスコマンドの定義。
15
(任意) コンテナー内の root プロセスコマンドの引数。
16
(任意) サイドカーコンテナーのボリュームマウント情報
17
マウントの名前
18
マウントのパス
19
(任意) サイドカーコンテナーのエンドポイント情報
20
エンドポイント名
21
エンドポイントが一般に公開されているかどうか
22
ポート番号
23
エンドポイントに関連する属性
24
このプラグインに含まれる vsix ファイルへの直接リンク。メイン拡張機能など、指定されたリポジトリーで構築された vsix は最初にリストする必要があります。
25
# TODO #
26
(任意) package.json の extensionDependencies フィールドに一覧表示されているものに加えて、依存関係を追加します。
27
(任意) true の場合は、このプラグインを index.json に含めないでください。スタンドアロンプラグインとして公開しない依存関係の場合に便利です。
28
(任意) package.json の extensionDependencies フィールドから指定された依存関係を確認しません(meta.yaml 生成のみ)。
29
(任意) package.json の extensionDependencies フィールドに一覧表示されているものに加えて、依存関係を追加します(meta.yaml 生成のみ)。
  1. 選択したオプションで、build.sh スクリプトを実行します。ビルドプロセスは、che-theia-plugins.yaml ファイルのエントリーに基づいて meta.yaml ファイルを自動的に生成します。
  2. CodeReady Workspaces で作成されるプラグインレジストリーイメージを使用するか、meta.yaml ファイルをレジストリーコンテナーからコピーして、これを HTTP リソースとして直接参照します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat