JSON
JSON フォーマットはデータの保存や構成ファイルによく使われています。 GoLand は JSON ファイルの作業をサポートします — 構文やフォーマットをチェックします。 一般的な構成ファイルでは、GoLand がコードを検証し、 JSON スキーマ に基づいてコード補完を提供します。JSON スキーマは、そのファイルの構造や内容を記述する特別なフォーマットです。
GoLand には、人気のあるフォーマット用の 登録済みスキーマセットがバンドルされています。 JSON Schema Store の スキーマや カスタム JSON スキーマを使用することもできます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

構文ハイライトを構成する
JSON 対応の構文ハイライトは、環境設定や習慣に応じて設定できます。
設定 ダイアログ(Ctrl+Alt+S )で に移動します。
カラースキームを選択するか、デフォルトから継承されたハイライト設定を受け入れるか、 色とフォント で説明されているようにカスタマイズします。
ヒントとトリック
空の構造体のフィールドを生成する
空の 構造体 がある場合は、JSON から必要なすべてのフィールドとタグを生成できます。 これを行うには、 アクションに移動 検索を使用して JSON から Go タイプを生成する ダイアログを呼び出し、JSON をテキストフィールドに貼り付けます。 または、 に移動して、ポップアップウィンドウで JSON から入力 を選択することもできます。