YAML
RubyMine で YAML ファイル( .yml 、 .yaml )の操作が可能になり、次の機能がサポートされます:
構文ハイライト
カラー設定は、 設定 ダイアログ (Ctrl+Alt+S) の エディター | カラースキーム | YAML ページで変更できます。
YAML に関連するコードスタイル設定には、 設定 ダイアログ (Ctrl+Alt+S) の エディター | コードスタイル | YAML ページでアクセスできます。
RubyMine は、重複したキーや YAML ドキュメント内の未使用 アンカーなどを検出します。
たとえば、 JSON スキーマを持つ YAML 文書でコード補完を使ったり、アンカーエイリアスを補完したりできます。
たとえば、 アンカーとエイリアス間を移動できます。
リネームリファクタリング (たとえば、 アンカーとエイリアスの場合)
エディターで利用できる YAML 固有の機能をいくつか見てみましょう。
アンカーとエイリアス
RubyMine ではアンカーとエイリアスの利用がサポートされています。 YAML ファイルで新しいアンカーを指定すると、エディターはこのアンカーがどのノードでも使用されていないという警告を表示します。

エディターを使用すると、このアンカーのエイリアスを 完成させることができます。

アンカーの使用箇所をすばやく見つけるには、アンカー上にキャレットを置き、 Ctrl+B を押します。

RubyMine ではアンカーとエイリアスに対する リネームリファクタリングがサポートされています。キャレットをアンカーに置いて Shift+F6 を押してください。 またはアンカーを右クリックして を選択します。

構造 ツールウィンドウ (Alt+7) を使用して、YAML ファイル内をすばやく移動します。 構造 ツールウィンドウで再利用されたアンカーの要素を表示または非表示にするには、 use エイリアスサブツリー をクリックします。

JSON スキーマ
RubyMine では、JSON スキーマを用いた YAML ファイルのコード補完やインスペクションをサポートしています。 RubyMine はスキーマを自動的に(ファイルの場所や構造に基づいて)推測できますし、 手動で選択することもできます。 たとえば、 .github/workflows ディレクトリに GitHub Actions ワークフローファイルがある場合、RubyMine は schemastore.org から自動的に読み込まれる github-workflow.json スキーマに基づいてオプションの補完を提案します:

設定 ダイアログ (Ctrl+Alt+S) の 言語 & フレームワーク | スキーマと DTD | リモート JSON スキーマ ページを使用して、JSON スキーマのロードを管理できます。
必要に応じて、 言語 & フレームワーク | スキーマと DTD | JSON スキーママッピング で必要なスキーマファイルへのパスを指定できます。
ファイルの JSON スキーマを選択する
特定のファイルにカスタムスキーマを指定できます。
ステータスバーのスキーマスイッチャーをクリックします。

表示されたリストで、提案されたスキーマのいずれかを選択するか、 新規スキーママッピング… をクリックします。 これにより、ファイルのローカルスキーマまたはリモートスキーマを指定できる JSON スキーママッピング 設定が開きます。
スキーマからプロパティを取得する
RubyMine が YAML ファイルのスキーマを検出した場合、専用アクションですべてのプロパティをそのファイルにすばやく挿入できるので、手動入力は不要です。
スキーマに必須のプロパティが含まれており、これらの特定のプロパティのみを挿入したい場合は、ファイル内の任意の場所で Alt+Enter (コンテキストアクションの表示) を押し、 欠落しているプロパティを追加する を選択します。
スキーマで使用可能なすべてのプロパティを挿入する場合は、ファイル内の任意の場所で Alt+Enter (コンテキストアクションの表示) を押し、 JSON スキーマからすべてのプロパティを入力してください を選択します。
$schema キーワードを使用する
ファイル自体でスキーマを参照することもできます。
ファイルの先頭に
# $schema:と入力します。スキーマファイルの名前の入力を開始します。 schemastore.org(英語) からロードされたスキーマの名前の補完が得られます。
ローカルスキーマファイルを使用する場合は、スキーマを使用するファイルに対する相対パスを指定します (例:
# $schema: ./my-schema.json)。 これにより、インスペクション、補完、プロパティ入力アクションなど、リモートスキーマを使用する場合と同じコーディング支援が可能になります。
キーのコピー
RubyMine では、YAML ファイルで指定された特定のオプションへのフルパスをコピーできます。 たとえば、 これはローカライゼーションファイル(英語)からキーパスをコピーするときに役立ちます。 これは 2 つの方法で実行できます。
必要なキーにキャレットを置き、 Ctrl+Alt+Shift+C を押します。
必要なキーにカーソルを合わせ、右クリックして 参照をコピー を選択します。

例: 上のイメージでは、 default.server.port がコピーされます。