YAML
RubyMine enables you to work with YAML files (.yml, .yaml) and supports the following capabilities:
Syntax highlighting
You can change color settings in the Editor | Code Style | YAML page of the Settings/Preferences dialog (Ctrl+Alt+S) .
You can access code style settings related to YAML in the Editor | Code Style | YAML page of the Settings/Preferences dialog (Ctrl+Alt+S) .
RubyMine detects duplicated keys, unused anchors in YAML documents, and so on.
For example, you can use code completion for YAML documents that have the JSON schema, or you can complete anchor aliases.
For instance, you can navigate between anchors and aliases.
Finding usages
Renaming (for example, anchors and aliases)
Let’s explore some YAML-specific features available in the editor.
Anchors and aliases
RubyMine supports working with anchors and aliases. If you specify a new anchor in the YAML file, the editor will show a warning that this anchor is not used by any node.
The editor enables you now to complete aliases for this anchor.
You can navigate from aliases to the anchor using the Ctrl+B shortcut.
For the anchor, you can do the same and find all corresponding aliases.
RubyMine also supports the rename refactoring for anchors and aliases.
Note that the Structure view Alt+7 allows you to manage whether to display nodes for aliases. Use the Show aliases sub-trees button to do this.
Remote JSON schemas
RubyMine supports code completion and inspections for YAML files using the specified JSON schema. For instance, if you use the .travis.yml file for Travis CI configuration, RubyMine will suggest completing its options using the JSON schema loaded from schemastore.org:
You can manage loading JSON schemas using the Languages & Frameworks | Schemas and DTDs | Remote JSON Schemas page of the Settings/Preferences dialog (Ctrl+Alt+S) .
If necessary, you can specify a path to the required schema file in the Languages & Frameworks | Schemas and DTDs | JSON Schema Mappings page.
Copying keys
RubyMine provides the ability to copy a full path to a specific option specified in the YAML file. For instance, this can be useful when copying key paths from localization files. You can do this in two ways:
Place a caret to the required key and press Ctrl+Alt+Shift+C.
Hover over the required key, right-click it and select Copy Reference.
For the localization key on the image above, the en.likes.create.error
value will be copied.