PhpStorm 2020.2ヘルプ

JSON

JSON(英語)形式は、データの保存と構成ファイルに一般的に使用されます。PhpStormは、JSONファイルの操作に役立ちます。— 構文とフォーマットをチェックします。一般的なタイプの構成ファイルでは、PhpStormはコード補完を提供します。これは、JSON スキーマ(英語)がそのようなファイルの構造と内容を記述するための特別な形式であるためです。カスタムJSONスキーマを使用して、JSONファイルでコード補完を有効にして検証することもできます。

JSON5を有効にする

PhpStormは、JSON5(英語)を含む多くの最も一般的なJSON標準を認識しています。PhpStormはデフォルトでjson5拡張子を持つファイルをJSON5ファイルとして扱い、この新しい構文をサポートしています。

Configuration file that uses JSON5 with the default extension .json5

JSON5構文をすべてのJSONファイルに拡張する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | ファイル・タイプに移動します。

  2. 認識されているファイルの種類リストで、JSON5を選択します。

  3. ファイル名のパターン領域で、Add をクリックし、開くワイルドカードの追加ダイアログに *.json と入力します。

JSON Schema Storeのスキーマを使用する

PhpStormは、一般的な設定ファイルのスキーマファイルをホストするJSONスキーマストア(英語)からスキーマを自動的にダウンロードして使用することができます。使用可能なスキーマ(tslint.jsonなど)の1つに名前が関連付けられているファイルを開くと、PhpStormはこのスキーマをダウンロードして使用します。適用されたスキーマの名前がステータスバーに表示されます。

JSON schema downloaded from JSON Schema Store, the name of the applied schema is shown in the Status bar

構成ファイルにカスタム名が付いている場合は、ステータスバーのJSONスキーマがありませんをクリックしてリストから必要なスキーマを選択するか、新しいスキーママッピング をクリックしてJSONスキーママッピングページを開き、新しいカスタムスキーマ構成します

No JSON schema for the current file

デフォルトでは、JSONスキーマストアからのスキーマの自動ダウンロードが有効になっています。何らかの理由で電源を切ってしまった場合は、いつでも再び有効にすることができます。

JSONスキーマストアからのスキーマの自動ダウンロードを有効にする

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語とフレームワーク | スキーマおよび DTD | リモート JSON スキーマに移動します。

  2. リモートソースからの JSON スキーマのダウンロードを許可するschemastore.org JSON スキーマ・カタログを使用するチェックボックスを選択します。

PhpStormには、多くの一般的なスキーマがバンドルされています。これらのスキーマは定期的に自動的に更新されますが、古くなっている可能性があります。

バンドルされているスキーマの最新バージョンを使用する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語とフレームワーク | スキーマおよび DTD | リモート JSON スキーマに移動します。

  2. 常に最新バージョンのスキーマをダウンロードするチェックボックスを選択します。

カスタムJSONスキーマの使用

JSON Schema Storeのスキーマに加えて、PhpStormを使用すると、他のストレージのカスタムスキーマを構成して使用できます。必要なスキーマをダウンロードしてプロジェクトルートに保存するか、リソースのURLを指定して、PhpStormがスキーマを自動的にダウンロードできるようにします。

カスタムJSONスキーマを構成する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語とフレームワーク | スキーマおよび DTD | JSON スキーマ・マッピングに移動します。

  2. 中央ペインには、以前に設定したすべてのカスタムスキーマが表示されます。ツールバーの Add をクリックします。

  3. スキーマの名前と、スキーマが準拠するスキーマ仕様バージョン(英語)を指定します。スキーマファイルまたはURLフィールドには、以前にダウンロードしたスキーマファイルの場所を指定するか、必要なスキーマが利用できるURLを入力します。

  4. このスキーマに対して検証するファイルまたはフォルダーのリストを作成します。リストには、特定のファイルの名前、ディレクトリ全体の名前、およびファイル名のパターンが含まれている場合があります。このリストに基づいて、PhpStormは内部的に検証されるファイルを検出します。

    リストに項目を追加するには、Add mapping をクリックし、ファイルまたはフォルダーへのパスを指定するか、ファイルパターンを入力します。

リモートソースからのJSONスキーマの自動ダウンロードを有効にする

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語とフレームワーク | スキーマおよび DTD | リモート JSON スキーマに移動します。

  2. リモートソースからの JSON スキーマのダウンロードを許可するを選択します。

    チェックボックスをオフにすると、JSONスキーマストアのスキーマを含む、JSONスキーマに関するネットワークアクティビティが無効になります。

スキーマのスコープ間の競合の処理

ファイル、フォルダー、パターンが2つ以上のスキーマのスコープに属している場合に競合が発生します。PhpStormは2つのモードでスコープを分析します。

  • 静的解析はカスタムスキーマのスコープの競合を検出します。競合が検出されると、PhpStormはスキーマの詳細ペインに警告を表示します。重なっているスコープを表示するには、詳細の表示リンクをクリックしてください。PhpStormは、矛盾するスコープとスキーマがリストされているメッセージ付きのポップアップを表示します。

    Notification about conflicting schema scopes in Settings/Preferences dialog

  • 動的解析は、システムスキーマとカスタムスキーマの両方のスコープで競合を検出します。このタイプの分析は、特定のスコープに属するファイルを開くと開始されます。競合が検出された場合、PhpStormはエディタータブの上部に警告を表示します。

    Notification about conflicting schema scopes in the editor
    リンクをクリックしてJSON スキーマ・マッピングページを開き、競合するカスタムスキーマのスコープを編集します。システムスキーマのスコープは編集できないことに注意してください。

JSONスキーマでのHTML記述の使用

ドキュメントポップアップでJSONスキーマ定義のドキュメントを表示すると、PhpStormはデフォルトでHTML文字をエスケープします。豊富なHTMLマークアップを持つ見栄えの良い文書を得るために、descriptionの代わりに x-intellij-html-description 拡張プロパティにHTML記述を保管してください。

{ "id": "http://some.site.somewhere/entry-schema#", "$schema": "http://json-schema-org/draft-06/schema#", "type": "object", "required": [ "options" ], "properties": { "options": { "type": "array", "description": "Interesting details: Fresh New Awesome", "minItems": 1, "items": { "type": "string" }, "uniqueItems": true, }, "readonly": { "type": "boolean" } } }
No formatting in documentation for JSON schema definitions with description property
{ "id": "http://some.site.somewhere/entry-schema#", "$schema": "http://json-schema-org/draft-06/schema#", "type": "object", "required": [ "options" ], "properties": { "options": { "type": "array", "x-intellij-html-description": "<p><b>Interesting</b> <i>details:</i></p>\n <ul><li>Fresh</li><li>New</li><li>Awesome</li></ul>\n <div style='background-color: #fff77c'>Choose schema with HTML description =)</div>", "minItems": 1, "items": { "type": "string" }, "uniqueItems": true, }, "readonly": { "type": "boolean" } } }
HTML descriptions in documentation for JSON schema definitions with x-intellij-html-description property

構文強調表示の構成

好みや習慣に応じてJSON対応の構文強調表示を設定できます。

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | カラー・スキームの切り替え | JSONに移動します。

  2. 配色を選択するか、デフォルトから継承された強調表示設定を受け入れるか、または色とフォントの構成の説明に従ってカスタマイズします。

最終更新日: 2020年7月23日