JSON
JSON(英語) 形式は、データの保存や構成ファイルの保存によく使用されます。 RustRover は JSON ファイルの操作に役立ちます — 構文とフォーマットをチェックします。 一般的な種類の構成ファイルでは、RustRover がコードを検証し、そのようなファイルの構造や内容を記述するための特別な形式である JSON スキーマに基づいてコード補完を提供します。
RustRover には、最も一般的な形式用の 登録済みスキーマセットがバンドルされています。 JSON Schema Store の スキーマや カスタム JSON スキーマを使用することもできます。

JSON5 を有効にする
RustRover は、 JSON5 を含む、人気の高い JSON 標準をいくつか認識します。 RustRover はデフォルトで json5 拡張子を持つファイルを JSON5 ファイルとして扱い、それらでこの新しい構文をサポートします。

JSON5 構文をすべての JSON ファイルに拡張する
設定 ダイアログ (Ctrl+Alt+S) で、 に進みます。
認識されたファイルタイプ リストで、 JSON5 を選択します。
ファイル名のパターン 領域で、
をクリックし、開く ワイルドカードの追加 ダイアログに
*.jsonと入力します。
JSON Schema Store のスキーマを使用する
RustRover は、多くの人気構成ファイルのスキーマファイルをホストしている JSON Schema Storeからスキーマを自動ダウンロード・使用できます。 利用可能なスキーマ(例: tsconfig.json )に名前が関連付けられているファイルを開くと、RustRover はそのスキーマをダウンロードして使用します。 適用されたスキーマの名前がステータスバーに表示されます。

設定ファイルにカスタム名がある場合や スクラッチファイルで作業している場合は、ステータスバーの JSON スキーマなし をクリックし、リストから必要なスキーマを選択します。 RustRover は現在のファイルを選択したスキーマに関連付け、このスキーママッピングを JSON スキーママッピング ページのリストに追加します。
または、 新規スキーママッピング をクリックして JSON スキーママッピング ページを開き、 新しいスキーマ関連付けを構成します。

デフォルトでは、JSON Schema Store からのスキーマの自動ダウンロードが有効になっています。 オフになっている場合は、いつでも再度有効にすることができます。
JSON Schema Store からスキーマを自動的にダウンロードする
設定 ダイアログ (Ctrl+Alt+S) で、 に進みます。
リモートソースからの JSON スキーマのダウンロードを許可する と schemastore.org JSON スキーマカタログを使用する チェックボックスを選択します。
RustRover には、多くの人気スキーマがバンドルされています。 これらのスキーマは定期的に自動的に更新されますが、古くなっている可能性があります。
バンドルされているスキーマの最新バージョンを使用する
設定 ダイアログ (Ctrl+Alt+S) で、 に進みます。
常に最新バージョンのスキーマをダウンロードする チェックボックスを選択します。
カスタム JSON スキーマを使用する
バンドルされた登録済みスキーマや JSON Schema Store のスキーマの他に、RustRover では独自のスキーマを作成したり、他の保存場所のカスタムスキーマを使用したりできます。 必要なスキーマを作成またはダウンロードしてプロジェクトルートに保存するか、リソースの URL を指定して RustRover がスキーマを自動的にダウンロードできるようにできます。
カスタムスキーマは、JSON スキーマ標準を満たす必要があります。 現在、RustRover は 2020-12 以前のスキーマをサポートしています。

カスタム JSON スキーマ関連付けを作成する
設定 ダイアログ (Ctrl+Alt+S) で、 に進みます。
または、ステータスバーの JSON スキーマなし をクリックしてから、 新規スキーママッピング を選択します。 この場合、RustRover はファイルを 関連付けられたファイル・フォルダー・パターンのリストに自動で含めます。
以前に構成したすべてのスキーマが表示される中央のペインで、ツールバーの
をクリックし、マッピングの名前を指定します。
スキーマファイルまたは URL フィールドには、以前に作成またはダウンロードしたスキーマファイルの場所、または必要なスキーマが利用可能な URL を指定します。 スキーマファイルの名前または対応する URL アドレスは、 スキーマファイルまたは URL フィールドに表示されます。

スキーマが準拠する スキーマ仕様バージョン(英語)を指定します。

このスキーマに対して検証するファイルまたはフォルダーのリストを作成します。 リストに基づき、RustRover は検証対象となるファイルを内部で検出します。
リストには、特定のファイル名、ディレクトリ全体の名前、ファイル名のパターンを含めることができます。 ファイル名のパターンを指定するには、次の規則を使用します。
role-*は、role-で始まる名前を持つすべてのファイルと一致します。role-*/**/*.yamlは、ロール、/、/を含む名前を持つすべての .yaml ファイルと一致します。role-**.yamlは、role-で始まる名前を持つすべての .yaml ファイルと一致します。
リストに項目を追加するには、
をクリックします。

ファイルまたはフォルダーへのパスを指定するか、ファイルパターンを入力します。 プロジェクトルートを基準とした相対パスを指定します。

リモートソースからの JSON スキーマの自動ダウンロードを有効にする
設定 ダイアログ (Ctrl+Alt+S) で、 に進みます。
リモートソースからの JSON スキーマのダウンロードを許可する を選択します。
チェックボックスをオフにすると、JSON Schema Store のスキーマを含む JSON スキーマに関するネットワークアクティビティは無効になります。
JSON スキーマを無効にする
ファイルのスキーマを無効にするには、ステータスバーの JSON スキーマ ウィジェットをクリックし、ポップアップリストから ファイルの JSON スキーマを無視 を選択します。

または、 スキーママッピングの編集 を選択して スキーマのスコープを編集します。 例: ファイル名が明示的に指定されている場合は、適切なパターンを編集したり、リストからファイルを削除したりできます。
最後に、 新規スキーママッピング を選択し、 上記のようにスキーマの関連付けを構成できます。

現在のファイルのスキーマとの関連付けを復元するには、ステータスバーの JSON スキーマなし をクリックし、ポップアップリストから ファイルの JSON スキーマの無視を停止 を選択します。

現在のプロジェクト全体に対してカスタムスキーマを無効にするには、 設定 ダイアログ (Ctrl+Alt+S) を開き、 に移動して、中央のペインでスキーマ関連付けを選択し、ツールバーの
をクリックします。
スキーマのスコープ間の競合を処理する
ファイル、フォルダー、パターンが複数のスキーマのスコープに属している場合、RustRover はこの競合を検出し、エディターおよび 設定 ダイアログの JSON スキーママッピング ページに警告を表示します。
エディターで、複数のスコープに属するファイルを開くと警告が表示されます。

設定 ダイアログの JSON スキーママッピング ページでは、複数のマッピングのスコープが重複している場合に警告が表示されます。

JSON スキーマで HTML 記述を使用する
デフォルトで、RustRover はドキュメントポップアップで JSON スキーマ定義のドキュメントを表示する際に HTML 文字をエスケープします。
スキーマが description プロパティを使用するとします。
すると、 クイックドキュメント ポップアップは次のようになります。

豊富な HTML マークアップを使用した見栄えの良いドキュメントを作成するには、HTML の説明を description ではなく x-intellij-html-description 拡張プロパティに保存します。
クイックドキュメント ポップアップは次のようになります。

構文ハイライトを構成する
好みや習慣に合わせて JSON 対応の構文ハイライトを設定できます。
設定 ダイアログ (Ctrl+Alt+S) で、 に進みます。
配色を選択し、デフォルトから継承されたハイライト設定を受け入れるか、カスタマイズします。