Keyboard shortcuts

Keyboard shortcuts

OrchidE complements the keyboard shortcuts of the IntelliJ platform in the context of Ansible files to make editing and navigating an Ansible project more efficient.

All shortcuts are still configurable, and new OrchidE actions can be assigned their own shortcuts.

The following table lists all abbreviations that are used or provided by OrchidE:

Action Shortcut Menu entry Description

Go to Declaration

  • IntelliJ Name:
  • Declaration or Usages
  • Windows / Linux:
    CtrlB
  •  
  • macOS:
    ⌘CmdB
  • Navigate ➞ Declaration or Usages
  • Editor context menu ➞ Go To ➞ Declaration or Usages

Navigate to the original definition of the value. Supported are

  • Jinja variables,
  • References to roles, import and include files, src files of templates, and host/group name in playbooks

Go to Playbook or Role

  • IntelliJ Name:
  • Go to Class
  • Windows / Linux:
    CtrlN
  •  
  • macOS:
    ⌘CmdO
  • Navigate ➞ Class
  • Editor context Menu ➞ Go To ➞ Class

Search for a playbook or role name and open the file (for roles, tasks/main is opened)

Go to related Ansible File

  • IntelliJ Name:
  • Go to Related Symbol
  • Windows / Linux:
    CtrlAltHome
  •  
  • macOS:
    Ctrl⌘CmdUp
  • Navigate ➞ Related Symbol
  • Editor context menu ➞ Go To ➞ Related Symbol

Navigate from the current editor to a linked file in the sense of Ansible.


OrchidE displays all files that are linked to the current editor via Ansible constructs (e.g. roles, hosts, …) and allows direct navigation.

for roles:

  • all files in the role are displayed
  • all playbooks referencing the role are displayed
  • all inventories (via playbooks) are displayed
  • all groups/host variable files (via inventories) are displayed

for playbooks:

  • all referenced roles are displayed
  • all inventories are displayed
  • all groups/host variables (via inventories) are displayed

for inventories:

  • all groups/host variables (via inventories) are displayed
  • all playbooks are displayed

for inventory group/hosts variables:

  • all inventories are displayed
  • all playbooks (which reference the inventory in hosts:) are displayed
  • all roles (of the playbooks) are displayed

Important:

  • An inventory is required to have all functions.
  • The cursor must not be positioned on any reference (e.g., Jinja variable, import file)
  • In inventories, the cursor must be on a group or a host

Go to Inventory Variable

  • IntelliJ Name:
  • Search Everywhere (tab: Inventory)
  • Windows / Linux:
    CtrlShiftO + I
  •  
  • macOS:
    ⌘CmdShiftO + I

Via Search Everywhere: Shift + Shift

  • Navigate ➞ Inventory
  • Navigate ➞ Search Everywhere (-> Inventory)

Search for an inventory group or a host and open the corresponding variable file.

Move Ansible Task Statement Up / Down

  • IntelliJ Name:
  • Move Statement Up / Down
  • Windows / Linux:
    CtrlShift + oder
  •  
  • macOS:
    Shift⌘Cmd + oder
  • Code ➞ Move Statement Down/Up

Moves an Ansible task block before the previous task or after the following task.

Show Jinja Variable Definition

  • IntelliJ Name:
  • Quick Definition
  • Windows / Linux:
    CtrlShiftI
  •  
  • macOS:
    ⌥OptSpace
  • View ➞ Quick Definition

Displays the definition/values for a Jinja variable in a popup.

Quick Ansible Documentation

  • IntelliJ Name:
  • Quick Documentation
  • Windows / Linux:
    CtrlQ
  •  
  • macOS:
    F1
  • View ➞ Quick Documentation

OrchidE displays the Ansible documentation for the code element under the cursor. (for modules and keywords)

For variables in inventories, the documentation from the role (argument_spec) is displayed if the variables have been annotated.

As an alternative to the keyboard shortcut, the documentation is also displayed when the mouse pointer is moved over code elements.

Ansible File

  • Windows / Linux:
    • via CtrlAltIns im Projektbaum und Editor
    • via AltIns im Projektbaum
  •  
  • macOS:
    • via Ctrl⌥OptN im Projektbaum und Editor
    • ⌘CmdN im Projektbaum
  • File ➞ New ➞ Ansible File
  • Project Tree Menu ➞ New ➞ Ansible File

The action makes it possible to create an Ansible element (role, playbook, …) from any context. The action can be used to quickly create files for Ansible roles, playbooks or inventory variables.

The file is created at the configured location (OrchidE’s Ansible Folder Mapping) in the directory tree regardless of the current selection in the project tree.

For roles, tasks/main.y(a)ml and meta/main.y(a)ml can be created; for playbooks, the file or a folder can be created directly with main.y(a)ml.

For inventory variables, a folder is created under group_vars/host_vars and with the configured file name.

Encrypt Ansible Vault

Editor context menu ➞ OrchidE ➞ Encrypt Ansible Vault

Create an Ansible Vault from an Ansible variable file, optionally with Vault ID.

The file can be opened and modified later using the Decrypt action.

Decrypt Ansible Vault

Editor context menu ➞ OrchidE ➞ Decrypt Ansible Vault

Opens (decrypts) an Ansible Vault file so that the file can be edited.

If an Ansible Vault is decrypted in the Editor, OrchidE can use the Keys for Code Completion.

**The file is only decrypted in the main memory, at no time is the decrypted data stored in a file.

When saving the text in the editor, the content is saved encrypted in the Ansible Vault file. This works with manual saving and the Auto-Save feature of IntelliJ.

Change Vault Password

Editor context menu ➞ OrchidE ➞ Change Vault Password

Changes the password for an Ansible Vault file.

The change can be made with decrypted and encrypted Ansible Vault files.

Set Vault Id

Editor context menu ➞ OrchidE ➞ Set Vault Id

Changes the Vault ID for an Ansible Vault file.

Make Vault Writeable

Editor context menu ➞ OrchidE ➞ Make Vault Writeable

OrchidE opens Ansible Vault files for which no password has been saved in read-only mode. To nevertheless change the raw data of an Ansible Vault, the editor can be set to read-write mode.

An incorrect edit for a destroyed Ansible Vault.

Encrypt Value

Editor context menu ➞ OrchidE ➞ Encrypt Value

Encrypts a single variable value in an Ansible file.

Details on encrypting individual variables can be found in the Ansible documentation.

Decrypt Value

Editor context menu ➞ OrchidE ➞ Decrypt Value

Decrypts a single variable value in an Ansible file.