6.4. エディター設定の適用
ConfigMap に設定を追加することで、Visual Studio Code - Open Source エディターを設定できます。この設定は、起動するすべてのワークスペースに適用されます。ワークスペースが起動すると、エディターがこの ConfigMap をチェックし、対応する設定ファイルに設定を保存します。
現在、次のセクションがサポートされています。
- settings.json
- extensions.json
- product.json
- configurations.json
settings.json セクションには、Code - OSS エディターの各部分をカスタマイズできるさまざまな設定を含めます。
extensions.json セクションには、ワークスペースの起動時にインストールする推奨拡張機能を含めます。
product.json セクションには、エディターの product.json ファイルに追加する必要があるプロパティーを含めます。プロパティーがすでに存在する場合、その値が更新されます。
configurations.json セクションには、Code - OSS エディター設定のプロパティーが含まれています。たとえば、extensions.install-from-vsix-enabled プロパティーを使用すると、Install from VSIX コマンドを無効にできます。
手順
新しい ConfigMap をユーザーのプロジェクトに追加し、サポートされているセクションを定義し、追加するプロパティーを指定します。
apiVersion: v1 kind: ConfigMap metadata: name: vscode-editor-configurations labels: app.kubernetes.io/part-of: che.eclipse.org data: extensions.json: | { "recommendations": [ "dbaeumer.vscode-eslint", "github.vscode-pull-request-github" ] } settings.json: | { "window.header": "A HEADER MESSAGE", "window.commandCenter": false, "workbench.colorCustomizations": { "titleBar.activeBackground": "#CCA700", "titleBar.activeForeground": "#ffffff" } } product.json: | { "extensionEnabledApiProposals": { "ms-python.python": [ "contribEditorContentMenu", "quickPickSortByLabel" ] }, "trustedExtensionAuthAccess": [ "<publisher1>.<extension1>", "<publisher2>.<extension2>" ] } configurations.json: | { "extensions.install-from-vsix-enabled": false }- ワークスペースを起動または再起動します。
Configmap に有効な JSON 形式のデータが含まれていることを確認してください。
ConfigMap は openshift-devspaces namespace に追加することを検討してください。これを namespace に追加することで、ユーザーの namespace 内での変更を防ぎながら、すべてのユーザー namespace にわたって ConfigMap をレプリケートします。「ユーザー namespace の設定」 を参照してください。
検証
次のいずれかの方法を使用して、ConfigMap で定義した設定が適用されていることを確認します。
-
F1を使用し、定義した設定が適用されているかどうかを確認します。Preferences: Open Remote Settings -
F1コマンドを使用してファイルの内容を調べ、ConfigMap の設定がFile: Open File… /checode/remote/data/Machine/settings.jsonファイルに存在することを確認します。
-
ConfigMap で定義した拡張機能が適用されていることを確認します。
-
Extensions機能ビュー (F1) に移動し、拡張機能がインストールされていることを確認します。View: Show Extensions -
F1コマンドを使用して、ConfigMap の拡張機能がFile: Open File… .code-workspaceファイルに存在することを確認します。デフォルトでは、ワークスペースファイルは/projects/.code-workspaceに配置されます。
-
ConfigMap で定義した製品プロパティーが Visual Studio Code の product.json に追加されていることを確認します。
-
ターミナルを開き、コマンド
cat /checode/entrypoint-logs.txt | grep -a "Node.js dir"を実行して、Visual Studio Code パスをコピーします。 -
Ctrl + Oを押して、コピーしたパスを貼り付け、product.json ファイルを開きます。 - ConfigMap で定義したすべてのプロパティーが product.json ファイルに含まれていることを確認します。
-
ターミナルを開き、コマンド
ConfigMap で定義した
extensions.install-from-vsix-enabledプロパティーが Code - OSS エディターに適用されていることを確認します。-
コマンドパレットを開き (
F1を使用)、コマンドのリストにInstall from VSIXコマンドが存在しないことを確認します。 -
F1を使用してOpen View Extensions Extensionsパネルを開き、ビューの…(Views and More Actionsツールヒント) をクリックして、アクションのリストにInstall from VSIXアクションがないことを確認します。 -
Explorer に移動し、
vsix拡張子を持つファイル (たとえば、redhat.vscode-yaml-1.17.0.vsix) を見つけて、そのファイルのメニューを開きます。Install from VSIXアクションはメニューに表示されないはずです。
-
コマンドパレットを開き (