Latest News

    • November 28, 2024

      OrchidE 2024.1.0

      OrchidE 2024.1.0 brings language injection support for the Ansible shell module, editor functions for arguments of Ansible test functions, and an aliasing function for variables to associate the variable with a role argument spec definition.

      Language injection for shell module

      For script code in the Ansible shell module, it is now possible to edit the code in OrchidE with the corresponding plugin.

      The plugins for Shell, PowerShell, and Python are currently supported.


      OrchidE can recognize the language by means of an annotation, the keyword executable or a shebang line.

      If there is more than one entry, the entry with the highest priority is used:

      • 1) Annotation
      • 2) Keyword executable
      • 3) Shebang


      Support for test arguments

      Code completion, syntax highlighting, and quick documentation are now available for Ansible test plugin arguments.

      Support for argument with Ansible test plugins


      Alias for inventory variables

      With the alias annotation of OrchidE you get Quick Documentation, Code Completion and Navigation for Argument-spec variables that are used indirectly.


      If you want to install a role on a node several times, you can do this in the playbook, for example:

      - name: Sample Aliases
        roles:
          - role: service-instance
            vars:
              install_folder: ""
      
          - role: service-instance
            vars:
              install_folder: ""
      

      However, auxiliary variables must now be used to maintain the install_folder variable in the inventory. To continue using editor functions such as quick documentation, navigation and code completion for variables from the argument-spec definition, the alias annotation of OrchidE is used.

      With the alias annotation, the auxiliary variables can be mapped to the argument spec definition:

      #@alias::install_folder
      alias_sample_instance_1: /opt/service_1
      


      Deprecation

      Support for IntelliJ platform 2023.1 is deprecated and will end with the launch of the EAP for IntelliJ version 2025.1.

    • October 6, 2024

      OrchidE 2023.1.7

      OrchidE 2023.1.7 brings some improvements for the configuration of OrchidE and syntax highlighting for Ansible test plugins.

      Global setting for code completion of collections

      The code completion mode for collections can now be set for all collections at once.

      Individual changes can be made subsequently set certain collections differently.

      Collections configuration for global settings


      Global pattern for playbook file names

      File names or file name patterns can now also be used to recognize playbooks. These patterns are used to search the entire IntelliJ project for files that match the pattern.

      The exact file name can be specified, or alternatively, a pattern with wildcards can be used.

      Playbook config settings with sample of file name pattern


      Syntax highlighting for Ansible test arguments

      Syntax Highlighting for Ansible test arguments


      Quick Documentation for Ansible Test Plugins

      For Ansible test plugins ‘Quick Documentation’ is now supported in the editor with shortcut or mouse-over.

      Quick documentation for Ansible test plugins


      Changes

      • Change: Support for inserting closing quotes similar to other IntelliJ editors with some Ansible yaml specific extensions.
      • Change: Improved support of Ansible test plugins for the ‘Undefined Variable’ inspection.
      • Change: Some more defaults in ‘Ansible Folder Mapping’ (docker-compose, gitlab, files/*)
      • Change: Some minor changes for IntelliJ EAP version 2024.3


      Deprecation

      Support for IntelliJ platform 2023.1 is deprecated and will end with the launch of the EAP for IntelliJ version 2025.1.

    • August 12, 2024

      OrchidE 2023.1.6

      OrchidE 2023.1.6 brings support for Ansible test plugins and can display warnings from the Ansible Lint plugin in the OrchidE editor.

      Ansible Test Plugin Support

      OrchidE supports code completion and quick documentation for test conditions in the form of “is <condition>”

      Ansible test plugin support


      Configuration

      Code completion for Ansible test plugins uses the settings of the collection to decide whether FQCN or short names should be suggested.

      Deviating from this, you can specify in the editor settings of OrchidE whether the FQCN or the short name should also always be displayed. For Jinja builtin (Python Jinja2 Library) tests, there is no FQCN.

      Ansible test plugin configuration settings


      Display of Ansible Lint warnings in the OrchidE Editor

      OrchidE can now display warnings from the Ansible Lint plugin in OrchidE editors.

      Ansible Lint plugin support


      Changes

      • Bugfix: Undefined Variable inspection doesn’t recognize variables defined by the vars keyword in playbooks.
      • Bugfix: Undefined Variable inspection doesn’t recognize loop variables when using keyword loop_control.
      • Bugfix: NullPointerException when referencing variables in the argument_spec file under certain conditions.
      • Bugfix: Exception in Ansible Structure view when using dot files or file name with only one char.


      Deprecation

      Support for IntelliJ platform 2022.3 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.3.

    • June 30, 2024

      OrchidE 2023.1.5.1

      OrchidE 2023.1.5.1 brings a few bugfixes.

      Changes

      • Bugfix: Broken tree view in OrchidE ‘Collections’ setting.
      • Bugfix: Inspection ‘Undefined Variable’ doesn’t support loop_control: loop_var definition.
      • Bugfix: Inspection ‘Wrong Value Type’ throws NotImplementedError.
      • Bugfix: Documentation parameters such as single ‘\n’ not shown in quick documentation.


      Deprecation

      Support for IntelliJ platform 2022.3 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.3.

    • June 13, 2024

      OrchidE 2023.1.5

      OrchidE 2023.1.5 supports the Ansible configuration to decrypt Ansible vaults and includes fixes for IntelliJ EAP version 2024.2.

      Decrypting Ansible vaults using the Ansible configuration vault_password_file

      To decrypt Ansible vaults, an Ansible configuration file ‘ansible.cfg’ can be specified. OrchidE will use the settings entry ‘vault_password_file’, to read the password and decrypt Ansible vaults.

      OrchidE supports the reading of plain text password files. Executable files are not supported.

      When environment variables are used in the ‘ansible.cfg’, a simple variable substitution is performed, advanced shell variable processing is not supported. To be able to use environment variables, they must be known to the IntelliJ platform process.

      The Ansible configuration file setting can be found in Settings Languages & Frameworks OrchidE.


      Deprecation

      Support for IntelliJ platform 2022.3 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.3.

    • May 27, 2024

      OrchidE 2023.1.4.1

      OrchidE 2023.1.4 brings a few bugfixes and support for IntelliJ platform EAP version 2024.2.

      Changes

      • Bugfix: Various fixes for Ansible structure view.
      • Bugfix: Code completion and intention ‘Undefined Variables’ don’t honor order of pre_tasks/tasks/post_tasks/handler keywords in playbooks when searching for variables defined by set_fact or register.


      Deprecation

      Support for IntelliJ platform 2022.2 has ended with the launch of the EAP for IntelliJ version 2024.2.

    • May 19, 2024

      OrchidE 2023.1.4

      OrchidE 2023.1.4 brings new code assistant features for Ansible plugin filters. The code assistant supports code completion and quick documentation for all filters.

      The support is available for all Ansible collections with filters (requires an updated OrchidE builder package).


      Adjustments for Ansible conditions

      The conditions for the keywords “when”, “changed_when”, “failed_when” and “until” are now identical to Jinja templates to better support code assistant.

      A new addition is the check for Undefined Variable, which is now also available for conditions.

      Currently, there is still the restriction that nested variables from set_fact and register are not supported.

      Ansible Condition Support for Intention Undefined Variables


      Changes

      • Change: Support for Ansible version 2.9 has been removed.
      • Bugfix: It is not possible to load OrchidE Builder definition files from folder paths with spaces.
      • Bugfix: Improved handling of multi-line values.
      • Bugfix: Quoted Keys at the beginning of a line lead to a parser error.
      • Bugfix: OrchidE also searches folders outside the IntelliJ project when searching for Ansible folders. Now only project directories are searched.


      Deprecation

      Support for IntelliJ platform 2022.2 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.2.

    • February 28, 2024

      OrchidE 2023.1.3

      OrchidE 2023.1.3 brings minor improvements to the Quick Documentation of Ansible modules. It also includes updates for EAP version 2024.1.

      The Quick Documentation supports the new formatting and option links of the Ansible 9 documentation. And sample code in the documentation is now displayed with syntax highlighting.

      Syntax Highlighting for example within quick documentation


      Changes

      • Change: Compatibility updates for IntelliJ platform version EAP 2024.1.
      • Change: Support for inventory host variables in subfolders.


      Deprecation

      Support for IntelliJ platform 2022.2 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.2.

    • January 21, 2023

      OrchidE 2023.1.2

      OrchidE 2023.1.2 brings code completion and quick documentation for module parameters with additional sub-parameters.

      Code completion for sub-parameters of module arguments

      For module arguments with further sub-parameters as a list of dictionaries, there is now code completion. In addition, selection lists are supported if the sub-parameter only allows values from a selection list.

      Code completion for sub-parameters of module arguments


      Quick documentation for sub-parameters of module arguments

      Quick documentation for sub-parameters of module arguments

      Short description of proposals in the code completion selection

      A description snippet is now displayed with the code completion of modules and module arguments.

      Code completion with description summary


      Changes

      • Change: Compatibility updates for IntelliJ platform version EAP 2024.1.
      • Change: A quick documentation_ is now also displayed for variables defined in argument specification files if the definition has no description tag, but other metadata such as type, required tag, …)
      • Bugfix: Parsing error in Jinja2 templates if the first value is a function and the arguments of the function are numbers (e.g. range(1,5)).
      • Bugfix: In Jinja2 templates for properties files, selected text is deleted when the property key is selected and then curly brackets are entered instead of adding the brackets around the selection.


      Deprecation

      Support for IntelliJ platform 2022.2 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.2.

    • December 18, 2023

      OrchidE 2023.1.1

      OrchidE 2023.1.1 improves the use of variables from the argument-spec definition of a role and automatically recognizes standard folders for roles, playbooks and inventories.

      Improved support for argument spec variables

      In inventory variable files (group_vars/host_vars) there is now extensive support for code completion, quick documentation, type checks, and navigation:

      • Code completion for substructures and choices
      • Navigation to declaration of keys
      • Quick documentation for all keys in the editor and during code completion
      • Type check for scalar types (characters, booleans, numbers, selection lists)

      Code Assistant for argument_spec variables


      To use the code assistant features for argument-spec variables, the variable must have an OrchidE role annotation and playbooks with inventory entries must exist (i.e., in playbooks hosts: <name> and in the inventory a corresponding <name> entry).

      Automatic detection of typical Ansible folders

      OrchidE now recognizes standard Ansible folders and offers to apply the configuration automatically.

      Recognition of Ansible folders in the editor with a typical Ansible file


      If there is no configuration yet, OrchidE scans the IntelliJ project and offers to take over all folders found. For most projects, no further configuration of the Ansible Folder Mappings is necessary.

      Recognition of Ansible folders when opening a project


      Found Ansible folders are now displayed in the Ansible Folder Mapping configuration and can be easily added.

      Ansible folder mapping configuration with automatically found folders


      Extension of the action “Go to related item”

      The action “Go to related item” now also offers entries from the inventory if these are super- or subgroups of the inventory entry.

      Example:

      [ansible:children]
      ansible-dev
      ansible-prod
      
      [ansible-dev]
      localhost
      

      If the “ansible-dev” group is referenced in the playbook, the action can now also be used to navigate directly to variable files in the “ansible” group.

      Action related item with superstructures/substructures from inventory


      Changes

      • Change: The folder names in the configuration Ansible Folder Mapping are now displayed relative to the project directory for better clarity.
      • Bugfix: Ansible project view does not show top-level entries from YAML inventory files.
      • Bugfix: ‘SlowOperation not allowed in EDT’ error in Intention “Create File”.


      Deprecation

      Support for IntelliJ platform 2022.1 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.1.

    • December 8, 2023

      OrchidE 2023.1.0.1

      Changes

      • Bugfix: Copy & paste does not work for plain text/Python files (indentation based on spaces).


      Deprecation

      Support for IntelliJ platform 2022.1 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.1.

    • October 31, 2023

      OrchidE 2023.1.0

      OrchidE 2023.1.0 brings copy & paste support for Ansible code snippets, can set new passwords for Ansible Vault files and supports encryption and decryption of Ansible variables.

      Copy & Paste with indentation

      When pasting text, OrchidE now indents the copied text.

      Copy and paste of Ansible tasks


      OrchidE currently supports indentation on insertion for Ansible

      • tasks,
      • modules,
      • module arguments
      • and variables.

      If the copied text is to be pasted unchanged, Paste as Plain Text can be used.

      Other text will be indented as it was copied from the original.

      When text is selected and copied in column mode, the indentation is not adjusted. The copied text is pasted unchanged.

      Encrypt Ansible variables

      OrchidE can now encrypt and decrypt variable values in Ansible files.

      Encrypt and decrypt of variables

      Change password for Ansible Vault files

      Ver- und Entschlüsseln von Variablen

      The password for Ansible Vault files can now be easily changed in the editor. It does not matter whether the Vault file is shown encrypted or unencrypted in the editor.


      Deprecation

      Support for IntelliJ platform 2022.1 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.1.

    • October 29, 2023

      OrchidE 2022.1.7.3

      Hotfix for OrchidE version 2022.1.7.2 for Windows.

      This fixes a bug that prevents the path for the OrchidE-Builder extension from being interpreted on Windows.

    • October 25, 2023

      OrchidE 2022.1.7.2

      OrchidE comes with improved compatibility for IntelliJ EAP version 2023.3 and some small bug fixes.

      Changes

      • Bugfix: SlowOperations error when opening Ansible vault file (OrchideUtilFile.getJavaNormalizedPath(OrchideUtilFile.kt:557)).
      • Bugfix: Wrong name displayed for editor tab name for playbook files when using OrchidE’s tab name feature.


      Deprecation

      The facet configuration is deprecated and will be removed with one of the next releases (-> moved to Ansible Folder Mapping).

      Support for IntelliJ platform 2022.1 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.1.

    • October 18, 2023

      OrchidE 2022.1.7.1

      OrchidE comes with improved compatibility for IntelliJ EAP version 2023.3 and some small bug fixes.

      Changes

      • Change: Various changes to improve compatibility with IntelliJ EAP version 2023.3.
      • Bugfix: SlowOperations error with guessProjectForFile(ProjectLocatorImpl.java:45), OrchideVaultFileDocumentSynchronizationVetoer.maySaveDocument(OrchideVaultFileDocumentSynchronizationVetoer.kt:54).
      • Bugfix: Error when checking whether a Yaml file is an Ansible Vault file (UnsupportedOperationException).
      • Bugfix: Can’t save vault file when switching between different operating systems (Windows vs. Unix-like OS) or when working with VCS crlf conversion.


      Deprecation

      The facet configuration is deprecated and will be removed with one of the next releases (-> moved to Ansible Folder Mapping).

      Support for IntelliJ platform 2022.1 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.1.

    • October 10, 2023

      OrchidE 2022.1.7.0

      In OrchidE 2022.1.7.0, the inventory folders group_vars and host_vars are now also recognized if they are located in the IntelliJ project root folder. A configuration in the Ansible Folder Mapping settings is not necessary for this.

      Note: If the folders are located in an inventory folder within the project, the inventory folder must still be added in the settings.

      This version of OrchidE supports IntelliJ EAP 2023.3 with limitations.

      The next version of the IntelliJ platform 2023.3 (currently in the EAP program) comes with a new threading model (parallel processing of IDE functions) and further performance optimization checks for IDE and plugin developers.

      This can lead to “informative error message” in the IDE which are displayed once per IDE start. Apart from the display of the error message these error messages have no functional limitation to the consequence.

      (Apart from the distraction of the error message, of course.)

      The error messages/stacktraces always start with one of these lines:

      • java.lang.Throwable: Slow operations are prohibited on EDT. See SlowOperations.assertSlowOperationsAreAllowed javadoc, or
      • java.lang.Throwable: Non-cancelable slow operations are prohibited inside read action. See SlowOperations.assertNonCancelableSlowOperationsAreAllowed javadoc.


      Please send a copy of the error to if such an error occurs. This helps us to adapt OrchidE to the next IntelliJ version.


      Changes

      • Change: Performance improvement for the Ansible Project View.
      • Bugfix: Error when opening *.j2 files while opening a project (cannot distinguish StubFileElementTypes. This might worsen the performance…).
      • Bugfix: Error in some cases when completing code with the ‘vars’ keyword (NullPointerException in OrchideReferenceProviderDefaultVariable).
      • Bugfix: Error when opening a project when restoring the workspace (NullPointerException in OrchideReferenceProviderDefaultVariable).
      • Bugfix: Roles are not recognised if a role consists only of a tasks file and the file extension yml is used.


      Deprecation

      The facet configuration is deprecated and will be removed with one of the next releases (-> moved to Ansible Folder Mapping).

      Support for IntelliJ Platform 2022.1 is deprecated and will end with the launch of the EAP for IntelliJ version 2024.1.

    • August 2, 2023

      OrchidE 2022.1.6.0

      In OrchidE 2022.1.6.0 the playbook keyword hosts now has code completion support and supports the action “Go to Declaration”. Code completion and navigation use the definition from the inventory. Inventory files in INI and Yaml format are supported.

      Code completion

      Code completion of hosts


      and navigation

      Navigation to hosts declaration


      Support for playbooks in sub folders

      OrchidE now shows the related path / namespace of playbooks in the Search Everywhere dialog and in the Go to related Symbol dialog.

      Navigation zu Playbooks mit Unterordnern


      SearchEverywhere dialog with display of context for roles and playbooks.

      Instead of the IntelliJ module, the context of role and playbook entries is now displayed in the Search Everywhere dialog. The determination of the context is based on the configuration in Settings ➞ Languages & Frameworks ➞ OrchidE ➞ Ansible Folder Mapping.

      SearchEverywhere - classes dialog with new context

      Changes

      • Change: Improved naming for editor tabs.
      • Bugfix: Code completion doesn’t work for roles with whitespaces.
      • Bugfix: Code completion and navigation do not work when role names are in quotes.
      • Bugfix: Inventory groups showing wrong icon in Ansible structure view (for yaml inventory files).
      • Bugfix: When using the intention ‘Create Variable’ in tasks files from sub folders, missing vars/default files are created in the wrong folder.
      • Bugfix: Inlay hint for a Jinja reference is not displayed if the referenced variable has no value or is an empty string.
      • Bugfix: meta/main.yml is not shown in Ansible structure view.
      • Bugfix: Folder chooser dialog in settings Ansible Folder Mapping doesn’t show project folder.


      Deprecation

      The facet configuration is deprecated and will be removed with one of the next releases (-> moved to Ansible Folder Mapping).

      Support for IntelliJ Platform 2021.3 is deprecated and will end with the launch of the EAP for IntelliJ version 2023.3.

    • May 28, 2023

      OrchidE 2022.1.5.1

      This version mainly brings bug fixes when using the new configuration “Ansible Folder Mapping”.


      This version of OrchidE is verified against IntelliJ platform version EAP 232.6484.1 from May 23, 2023.

      Changes

      • Bugfix: Inventory files are not detected if the IntelliJ project folder is configured as playbook folder in Ansible folder mapping.
      • Bugfix: Ansible Structure View shows .idea folder when IntelliJ project folder is used as root directory
      • Bugfix: Fix unnecessary creation of .idea/orchide.xml on non-Ansible projects
      • Bugfix: Error (NullPointerException) when displaying *.j2 files that exist only temporarily (e.g. VCS diff window).
      • Bugfix: Error (NullPointerException) in various situations when detecting role name
      • Bugfix: Error / high CPU load when starting the search with the ‘.’ character in Search Everywhere dialog.


      Deprecation

      The facet configuration is deprecated and will be removed with one of the next releases (-> moved to Ansible Folder Mapping).

      Support for IntelliJ Platform 2021.3 is deprecated and will end with the launch of the EAP for IntelliJ version 2023.3.

    • May 22, 2023

      OrchidE 2022.1.5.0

      OrchidE 2022.1.5.0 now supports roles in subdirectories (with namespace) and brings a new configuration for Ansible file detection.

      Roles within subfolders

      OrchidE now supports roles that are inside the roles folder in subdirectories:

      - name: Sample playbook snippet
        roles:
          - role: mycompanyroles/setup
      

      Role includes with subfolder


      Configuration of Ansible Folders

      Under Settings ➞ Languages & Frameworks ➞ OrchidE ➞ Ansible Folder Mapping the complete configuration for Ansible playbooks, roles and inventories detection and exceptions is now done.

      Thereby the base folders for playbooks, roles and inventories have to be defined, so that OrchidE can load the correct parser for all IDE features.

      Within the playbooks and roles configuration you additionally define what is a variable file or playbook/role file. E.g. playbook folders can contain task files that are included by playbooks or roles can contain playbooks in the molecule/tests folder.

      Ansible folder mapping configuration


      This version of OrchidE is verified against IntelliJ platform version EAP 232.6095.10 from May 18, 2023.

      Changes

      • Change: Performance improvements for code completion and navigation lookup for role imports/includes in playbooks.
      • Bugfix: Quick documentation is not inserted correctly in inventory variable files if the description in the ‘argument_spec’ file is multiline.


      Deprecation

      The facet configuration is deprecated and will be removed with one of the next releases (-> moved to Ansible Folder Mapping).

      Support for IntelliJ platform 2021.3 is deprecated and will end with the release of IntelliJ platform 2023.3.

    • March 29, 2023

      OrchidE 2022.1.4.0

      OrchidE 2022.1.4.0 brings simplified configuration for projects that contain only one Ansible role.

      If an IntelliJ project has only one Ansible role and its folders (tasks, handlers, …) are located directly in the main folder of the project OrchidE now offers a switch to use a custom configuration for this setup.

      This configuration can be set in Settings ➞ Languages & Frameworks ➞ OrchidE ➞ Ansible Folder Mapping.

      Single role configuration checkbox

      The molecule folder is not yet supported in the simplified configuration. If necessary, a rule for playbooks should be created in the settings for the File Type Patterns.

      Files with tasks can be marked as task files via the IntelliJ action ‘Override file type’ or via an entry in the File Type Patterns.


      Configuration of Ansible Folders

      The configuration for the base folders of playbooks, roles and inventories has been moved from the facet configuration to the project configuration. The new configuration will also be used as a basis for a future simplified configuration of the File Type Patterns.

      The facet configuration is deprecated and will be removed with one of the next releases.

      Improved support for import_tasks/include_tasks

      The modules import_tasks/include_tasks now support files relative to the playbook during navigation and code completion.

      If the modules are used in roles, OrchidE automatically finds the matching playbook and its path. Optionally, the set folders from the playbook folder settings can also be used. The option can be enabled/disabled in the Settings ➞ Editor ➞ Orchid : Code Completion section:

      Single role configuration checkbox

      Changes

      • Change: OrchidE now displays a warning if the file extension YAML is associated with the IntelliJ function “Python Template Language”. This feature overwrites the OrchidE mapping to the OrchidE parser. Thus, OrchidE cannot be used together with this function. The restriction applies if the files are in the same IntelliJ module. In separate IntelliJ modules, the Python template language function can be used together with OrchidE.
      • Change: The src argument of the template module now also supports folders/paths during code completion.
      • Bugfix: Quick documentation is not displayed for the import_tasks / include_tasks modules.


      Deprecation

      Support for IntelliJ platform 2021.2 is deprecated and will end with the release of IntelliJ platform 2023.2.

    • February 6, 2023

      OrchidE 2022.1.3.0

      OrchidE 2022.1.3.0 supports the latest IntelliJ platform EAP version 2023.1 and brings some bug fixes.

      This version of OrchidE is verified against IntelliJ platform version EAP 231.6471.13 from February 3, 2023.


      Changes

      • Bugfix: Roles Variable files in subfolders are not used in Code Completion and Inspections.
      • Bugfix: When resolving included files with the keyword vars_files, an endless recursion occurs if Jinja variables are used for the file name (StackOverflowException).
      • Bugfix: When resolving Jinja variables with circular dependencies, an overflow occurs during resolution (StackOverflowException).
      • Bugfix: The intention “Add extra variable” is executed already when selecting the entry and not when confirming the entry.
      • Bugfix: Editor tabs show the wrong status for mark modified (*) after saving an Ansible Vault file.
      • Changes: Internal API updates.


      Deprecation

      Support for IntelliJ platform 2021.1 is deprecated and will end with the release of IntelliJ platform 2023.1.

    • January 15, 2023

      OrchidE 2022.1.2.0

      OrchidE 2022.1.2.0 comes with more inspections and improvements for imported playbooks.

      A new inspection checks if a used Ansible task without namespace leads to an ambiguity. The listed namespaces in the collections keyword are taken into account.

      Unique Ansible Tasks


      Import playbook

      In playbooks imported from other playbooks (via import_playbook) the keywords ‘vars’ and ‘vars_files’ are now also supported. This means that variables defined with vars/vars_files are used for navigation, code completion and for the inspection ‘Undefined Variables’.

      The feature also supports cascaded imports from playbooks.

      Private role vars

      For navigation, code completion and the inspection “Undefined Variables”, “private role vars” are now also taken into account in Jinja2 templates.

      Private role vars


      Jinja2 templates

      In Jinja2 templates there is now a status bar that displays a breadcrumb of Jinja expressions.

      Breadcrumb in Jinja2 templates


      Inventory

      To have improved support for navigation, quick documentation, code completion and inspections in inventory variable files there is the OrchidE Role Annotation.

      A new intention and inspection support to add the annotation afterwards.

      If the warning for the missing annotation is not desired, it can be configured or disabled in the settings (Settings ➞ Editor ➞ Inspections ➞ Ansible: ‘Missing role annotation’).

      Role annotation inspection & intention


      Changes

      • Bugfix: Quick fix ‘Create group/host variable’ shows too many possibilities. (Also unsupported meta/argument spec files are shown).
      • Bugfix: Error when a Vault file is opened in the IntelliJ editor and decrypted outside of IntelliJ.
      • Bugfix: Variable values / resolved references of Jinja2 templates are not displayed as inlay in IntelliJ 2022.3.</li>


      Deprecation

      Support for IntelliJ platform 2021.1 is deprecated and will end with the release of IntelliJ platform 2023.1.

    • December 5, 2022

      OrchidE 2022.1.1.0

      OrchidE 2022.1.1.0 brings many small improvements and fixes.

      For Ansible Vault files the Vault id can now be set afterwards.


      Set a new vault id


      File references in tasks

      Code assistant functions for the modules include_tasks, import_tasks and template have been improved and extended:

      • File references to Jinja templates now support folders in file path.
      • Navigation to a referenced file is now a single file path (instead of folders + file) entry.
      • Support code completion for sub dictionaries within Jinja templates.
      • Inspection missing file now shows the original file reference string with Jinja templates.
      • New configuration flag to filter code completion suggestions by file extension *.j2 for template task. (Settings ➞ Editor ➞ OrchidE : code completion section).
      • Performance improvements.


      Changes

      • Change: Inspection undefined variable now finds variables defined with task’s vars keyword.
      • Bugfix: Inlays show wrong values if variable names have the same prefix.
      • Bugfix: Block keyword not detected when followed by a comment.
      • Bugfix: Parser does not recognize the keyword block if it is immediately followed by a comment.
      • Bugfix: Inspection wrong keyword displays an error of an valid name if the name matches a module name.
      • Bugfix: Parser shows an error if a dictionary/list is used in a Jinja function in Jinja templates (e.g. {{ combine(var1, { 'key': value|string + x['abc'] } ) }}.
      • Bugfix: Code completion does not display variables defined with the keyword vars.
      • Bugfix: Inspection wrong module argument type brings an error if referenced values contain a ‘\’ character.


      Deprecation

      Support for IntelliJ platform 2021.1 is deprecated and will end with the release of IntelliJ platform 2023.1.

    • October 31, 2022

      OrchidE 2022.1.0.0

      OrchidE 2022.1.0.0 comes with code assistant for Ansible group and host variables in inventories.

      • Code completion of variables based on the argument-spec definition and the defaults file in roles.
        • Optionally, the description is additionally inserted above the variable (code completion with Enter key).
      • Navigation to the declaration of variables in the argument-spec file
      • Quick documentation of the description and meta attributes of a variable (based on argument spec)
      • Type check of variable values based on the definition in the argument-spec file
      • OrchidE own annotation for improved user experience


      Introduction of code assistant for group and host variables


      Code Completion

      (with Role annotation only the matching suggestions are displayed)

      Code completion for group and host variables


      Navigation

      (a role annotation must be present for navigation to work)

      Navigation for group and host variables


      Quick Documentation

      OrchidE supports the HTML shortcuts (e.g. I(italic) for italic) from the Ansible documentation and renders the HTML text correctly when shortcuts are used in the argument spec description.

      Quick documentation for group and host variables


      Type-Check of Values

      Type check for group and host variables


      Folding

      Folding for group and host variables


      Changes

      • Change: Binary content in Ansible vault files are detected and no longer displayed in the editor.
      • Bugfix: Error in find usages with unresolved references (IllegalStateException: element.node must not be null).


      Deprecation

      Support for IntelliJ platform 2020.3 is deprecated and will end with the release of IntelliJ platform 2022.3.

    • October 4, 2022

      OrchidE 2021.1.8.1

      OrchidE 2021.1.8.1 contains some bugfixes and support for IntelliJ platform version EAP 2022.3.

      Changes

      • Bugfix: Parser error for Jinja2 expression if using an empty dictionary ('{}').
      • Bugfix: Parser error for Jinja2 expression if using embedded Jinja2 expression
        like {{ lookup('file', '{{ item }}') }}
      • Bugfix: Code completion for Jinja2 braces not working in variable and task files.
      • Bugfix: IDE Error (NPE) during indexing Ansible files within inventory folder.


      Deprecation

      Support for IntelliJ platform 2020.3 is deprecated and will end with the release of IntelliJ platform 2022.3.

    • August 8, 2022

      OrchidE 2021.1.8.0

      OrchidE 2021.1.8.0 now supports code completion and navigation go to declaration for template files.

      • Code completion for the src argument of the template module.
      • Navigation to the template file for the module template (without Jinja support)

      For code completion, the default search path is limited to the search path <Ansible search paths>/templates/*.

      In the configuration Editor | OrchidE the behavior can be changed to get all files suggested that Ansible supports.


      Actions for module template


      For variables of type ‘list’ from the argument_spec file, OrchidE now supports code completion for the choices of the list.

      Selection of lists of argument spec options


      Changes

      • Bugfix: IntelliJ error when a Jinja2 template is selected in the VCS Diff window.
      • Bugfix: Parser error when using concatenated strings in Jinja2 templates, e.g. {{ groups[ prefix.host + “Server”] }}.


      Deprecation

      Support for IntelliJ platform 2020.3 is deprecated and will end with the release of IntelliJ platform 2022.3.

    • July 4, 2022

      OrchidE 2021.1.7.0

      OrchidE 2021.1.7.0 improves the support for variables set with the set_fact module or the keyword register:

      • Code completion for Jinja2 variables now also suggests set_fact/register variables when included via import/include_tasks
      • Navigation to variables set with set_fact/register now also supports variables set in import/include_tasks.
      • The ‘Undefined Variables’ inspection now also supports set_fact/register variables set in imported/included files.


      Sample about variables set by set_fact and register


      The resolution of the imported files takes place hierarchically, thus also (sequence) dependencies of the imported files are recognized.

      The improvements are also available in Jinja2 template files.


      Deprecation

      Support for IntelliJ platform 2020.2 is deprecated and will end with the release of IntelliJ platform 2022.2.

      Support for Ansible versions 2.9 and 2.8 is deprecated.

    • May 25, 2022

      OrchidE 2021.1.6.0

      OrchidE 2021.1.6.0 now supports code completion for argument spec variables when used in playbooks and in Jinja2 templates ({{ }}) in roles.

      Code completion for argument spec variables


      Changes

      • Change: File type patterns for playbooks have been updated to better distinguish between playbooks and variable files.


      Deprecation

      Support for IntelliJ platform 2020.2 is deprecated and will end with the release of IntelliJ platform 2022.2

      Support for Ansible versions 2.9 and 2.8 is deprecated.

    • May 2, 2022

      OrchidE 2021.1.5.0

      In OrchidE 2021.1.5.0, the Inspection Undefined Variables detects variables set by the Jinja2 set statement.

      And for the Jinja2 template structures if, for, macro, filter, call there is a check if a corresponding end statement (endif, endfor, …) exists.

      Jinja2 Template with set and control structure function


      Changes

      • Change: Improved error messages for parser errors.
      • Bugfix: Code completion of module argument doesn’t show arguments with version label.
      • Bugfix: Parser error for expression ‘{%-‘ in Jinja2 templates in Ansible multi-line statements.
      • Bugfix: Error when adding an empty value within the file type pattern dialog.
      • Bugfix: Jinja2 JSON template shows error if Jinja2 template is a placeholder for boolean and number.


      Deprecation

      Support for IntelliJ platform 2020.2 is deprecated and will end with the release of IntelliJ platform 2022.2

      Support for Ansible versions 2.9 and 2.8 is deprecated.

    • March 14, 2022

      OrchidE 2021.1.4.0

      OrchidE 2021.1.4.0 now supports navigation to associated files for Ansible files.

      For example, from a role, it is possible to directly navigate

      • to playbooks, which contain the role,
      • to group/host variables,
      • to inventory entries,
      • and to all files within the role.

      The function is available via the IntelliJ action Navigate -> Related Symbol. (Ctrl + Alt + Home, Ctrl + + Up)

      Navigation between Ansible files


      Navigation is supported:

      from playbooks

      • to vars files
      • to roles (-> tasks/main.yml)
      • to group/host variables
      • to inventory entries


      from roles (tasks, vars, defaults)

      • to all files of the role
      • to playbooks, including this role
      • to group/host variables (via included role in playbook)
      • to inventory entries (via included role in playbook)


      from inventory entries (cursor must be on entry)

      • to playbooks
      • to group/host variables


      from group/host variables

      • to playbooks
      • to roles (via playbook)
      • to inventory entries


      Deprecation

      Support for IntelliJ platform 2020.1 is deprecated and will end with the release of IntelliJ platform 2022.1

      Support for Ansible versions 2.9 and 2.8 is deprecated.

    • February 14, 2022

      OrchidE 2021.1.3.0

      OrchidE 2021.1.3.0 now supports inventory files in YAML format for the Project View -> Ansible Structure.

      And for inventory group and host entries there is a navigation to playbooks using these groups/hosts and to the corresponding variables.

      The navigation takes place via Navigate -> Related Symbol (Ctrl + Alt + Home, Ctrl + + Up)

      Navigation in inventory files to playbooks / variables


      Changes

      • Change: The project view ‘Ansible Structure’ now shows the file status in color if the file is under version control.


      Deprecation

      Support for IntelliJ platform 2020.1 is deprecated and will end with the release of IntelliJ platform 2022.1

      Support for Ansible versions 2.9 and 2.8 is deprecated.

    • January 14, 2022

      OrchidE 2021.1.2.0

      OrchidE 2021.1.2.0 now assists in creating new Ansible files.

      New file dialog for Ansible files


      The creation is context-independent, i.e. roles are always created in the configured role folder. The New file action uses the facet configuration (facet ‘OrchidE Ansible’) to find the appropriate folder.

      The following types can be created:

      • Roles: creates a folder for the role and depending on the selection an initial file tasks/main.<ext> or meta/main.<ext>.
      • Playbooks: creates a playbook file or folder with a file main.<ext>.
      • Group var: creates an inventory group var file in <inventory>/group_vars folder. Optionally as a folder with default filename.
      • Host var: creates an inventory host var file in <inventory>/host_vars folder.

      If no folder is specified for the type in the facet configuration, the currently selected path from the Project-View is taken as the basis.
      If multiple folders are specified for the type in the facet configuration, the matching path will be searched based on the current path in the Project-View. If the current path is not part of a configured Inventory, Playbook or Role base directory, the current path will be used.

      The default file name for folder-based group var files and the preferred YAML file extension can be configured in the settings (File | Settings | Editor | OrchidE).

      New file dialog for Ansible files


      Changes

      • Change: Inlay hints can now display recursively resolved values for variables if the reference is unique
      • Change: Inlay hints for Jinja variables now supports set_fact variables.
      • Change: Inlay hints in tooltips now include the path to the file of the reference.
      • Change: Inlay hints can now be displayed as a “tooltip icon”. The complete information is then in the tooltip.
      • Change: Jinja2 templates feature (.j2) now includes support for base template language of YAML files (.yml.j2, *.yaml.j2). (supports combined usage with other yaml based plugins like JetBrains’ Kubernetes plugin)
      • Change: Jinja2 templates feature now adds closing brace for Jinja2 variables template “{{ }}”.
      • Change: The setting for the Ansible version has been replaced by the entry <collections> for version 2.10 and higher. The version is defined by the installed OrchidE builder definition package.
      • Change: The inspections “Deleted Module” has been removed for Ansible version >=2.10. The inspection “Unknown Ansible play, task and block keyword” can be used instead.
      • Bugfix: Inlay hints setting ‘hide default values’ is not working for defaults variables files in roles.
      • Bugfix: Setting file type pattern ‘Task’ was not properly recognized.
      • Bugfix: Introduce Variable refactoring doesn’t work with multi line strings.
      • Bugfix: ‘Comment with Line Comment’ moves cursor one line down in generic Jinja2 template (plain text).

      Deprecation

      Support for IntelliJ platform 2020.1 is deprecated and will end with the release of IntelliJ platform 2022.1

      Support for Ansible versions 2.9 and 2.8 is deprecated.
      Support for Ansible version 2.7 has been removed.

    • December 14, 2021

      OrchidE 2021.1.1.0

      OrchidE 2021.1.1.0 can now display the values of Jinja variables as inlay hints.


      Inlay hints for Jinja variables

      Inlay hint of jinja variables

      These inlay hints can be configured in the preferences (File | Settings | Editor | Inlay Hints).

      Changes

      • Bugfix: Selected editor tab with playbook won’t be selected in Ansible structure tree.
      • Bugfix: Refreshing of Ansible structure view rebuilds tree several times after deleting a file.
      • Bugfix: Resolving of Jinja variables shows wrong entries when name matches part of variable name.


      Deprecation

      Support for IntelliJ platform 2020.1 is deprecated and will end with the release of IntelliJ platform 2022.1

    • November 14, 2021

      OrchidE 2021.1.0.0

      OrchidE 2021.1.0.0 comes with a project view for Ansible and a search for inventory entries.


      Project view for Ansible

      Project view

      The project view shows inventory entries and variable files, playbooks and roles and hides the rest of the structure.

      Project view

      Further details can be found in the documentation.


      Support for searching inventory hosts and groups via search dialog

      In the SearchEverywhere dialog it is now possible to search for inventory group and host names and to navigate to the associated declaration or to the associated variable definition. (Shortcut Ctrl+Shift+O, then I, +Shift+O, then I)

      SearchEverywhere in inventory

      Search for and navigation to host and group names is currently available for inventory files in INI format. Also, the INI plugin (ini4idea) from JetBrains must be installed. (YAML for inventory files is not supported).

      For this function, the facet “OrchidE Ansible” must be assigned to a module and configured.


      Changes

      • Minor bug fixes.


      Deprecation

      Support for IntelliJ platform 2019.3 is deprecated and will end with the release of IntelliJ platform 2021.3.

    • October 5, 2021

      OrchidE 2020.1.9.0: Bugfixes and support for newest IntelliJ EAP version

      OrchidE 2020.1.9.0 now supports IntelliJ platform version 2021.3 EAP 2.

      Changes

      • Bugfix: Inspection “Duplicate Keywords” shows wrong error on role keyword in playbooks.


      Deprecation

      Support for IntelliJ platform 2019.3 is deprecated and will end with the release of IntelliJ platform 2021.3.

    • September 6, 2021

      OrchidE 2020.1.8.0: New Features

      OrchidE 2020.1.8.0 allows quick navigation between tasks (via IntelliJ action Next/Previous Method) and easy movement of tasks (via IntelliJ action Move Statement Up/Down).


      Navigation and movement of task

      Navigate to and move of tasks


      Highlighting of Jinja2 statements in multi-line text

      Highlight Jinja2 statements in multiline text


      Structure View window

      The Structure View can now display tasks and includes in playbooks and tasks files.

      Structure view for playbook and tasks


      Änderungen

      • Change: Improved deprecated detection of non-FQCN module with same name in different collections.
      • Change: Support jinja2 templates in key names for variables in module set_fact.


      Deprecation

      Support for IntelliJ platform 2019.3 is deprecated and will end with the release of IntelliJ platform 2021.3.

    • July 26, 2021

      OrchidE 2020.1.7.0: New Features

      OrchidE 2020.1.7.0 brings a new inspection to check the type of keyword or module argument. Code completion for keywords and module arguments now also offer known values for even faster editing.

      Type Checks

      OrchidE can now check the types

      • boolean,
      • integer and
      • selection list

      for keywords and module arguments and warn when type is wrong.

      The use of Jinja variables with simple references is also supported.

      Type definitions are used from collection and keyword documentation. Custom definitions from argument_specs are currently not supported.

      Type check


      Code Completion with values

      Boolean and selection lists are now included as additional code completion suggestion at keywords and module arguments.

      Code completion with values

      Which combination of boolean (true/false, yes/no, on/off) is suggested can be set in the editor settings.


      Changes

      • Change: Support code completion for variables for debug: -> var:.
      • Change: Various improvements and fixes for include_tasks in code completion and navigation “go to declaration”.
      • Bugfix: Inspection undefined variables does not consider loop variable in Jinja templates from host/group variables.
      • Bugfix: Error displaying “no valid file” for arguments with name “file”.


      Deprecation

      Support for IntelliJ platform 2019.2 is deprecated and will end with the release of IntelliJ platform 2021.2.

    • June 22, 2021

      OrchidE 2020.1.6.0: New Features

      OrchidE 2020.1.6.0 comes with improvements for Ansible include-modules (import_tasks, include_tasks, import_playbook und vars_files).

      OrchidE now additionally supports

      • code completion for files to include
      • navigation support for full path
      • inspection for missing files
      • the creation of missing files
      • the creation of additional files when Ansible Facts variables are used


      At least IntelliJ Platform 2019.3 is required to create new files (for Ansible fact based insertion).

      Create file intention


      Supported Ansible facts are

      • ansible_distribution
      • ansible_os_family
      • ansible_system
      • ansible_distribution_major_version

      More facts available via email or via GitHub issue/pull request for the definition file.

      Changes

      • Change: inspection undefined variables now also recognizes variables in loops with with_dict.
      • Change: new inspection to detect duplicate YAML keys.
      • Bugfix: error when setting a variables file to plain text.
      • Bugfix: parser error in string concatenation in Jinja2 templates.
      • Bugfix: missing html entity decoding in documentation of return values.


      Deprecation

      Support for IntelliJ platform 2019.2 is deprecated and will end with the release of IntelliJ platform 2021.2.

    • May 15, 2021

      OrchidE 2020.1.5.0: New Features

      Orchid 2020.1.5.0 now has code completion and navigation support for the Ansible keywords. when, failed_when, changed_when and until.

      For variables defined by the keyword register, code completion, navigation and quick documentation are now supported. These functions are supported for variables defined within the same file.

      Support for when condition and register

      • Code completion support for Ansible variables in conditions
      • Go to declaration for Ansible variables used in conditions
      • Code completion support for register variables, including code completion of return-values.
      • Go to declaration of register variables.
      • When using register variables, the documentation of return values will be shown in the quick documentation.


      Jinja2 Templates

      The inspection undefined variables now detects loop variables in Jinja2 templates.

      Inspection undefined variables supports Jinja2 template loops

      Collections

      Support for Ansible 2.11 and improved setting dialog for configuring collections.

      • Configuration of collections via keyboard.
      • Reloading the collection configuration after applying the changes without restarting.


      Module set_fact

      Code completion and go to declaration support for variables set by module set_fact (within the same file).

      Changes

      • Change: Stability improvements when working with multiple projects.
      • Change: Note on recommended configuration setting for OrchidE extension and use of Ansible 3.3.
      • Change: Removed support for Ansible 2.6 and 2.5.
      • Bugfix: Fixed missing arguments, removed wrong arguments from command modules (shell, command, script, …) (Ansible 2.8, 2.9).</li>


      Deprecation

      Support for IntelliJ platform 2019.2 is deprecated and will end with the release of IntelliJ platform 2021.2.

    • April 14, 2021

      OrchidE 2020.1.4.0: Support for Ansible vault files

      OrchidE 2020.1.4.0 can now decrypt and encrypt Ansible vault files.

      Important

      (Update Apr. 16, 2021)

      This version is now available on the Marketplace.

      This version is currently not available via the JetBrains Marketplace.

      Please download the version from the website and install the plugin via the plugin settings (Icon für Install –> “Install Plugin from disk “)

      • OrchidE 2020.1.4.0 für IntelliJ Version >= 2019.3.1
      • OrchidE 2020.1.4.0 für IntelliJ Version 2019.2
      • OrchidE 2020.1.4.0 für IntelliJ Version 2019.1

      The usual download from the Marketplace will be delivered as soon as possible.

      • Decrypt Vault files with and without Vault id.
      • Decrypted files can be used like normal files with variables - supports navigation, code completion, inspection
      • Optional persistent storage of the password in the IntelliJ password safe for each Vault id. Alternatively, the password is only kept in memory.
      • Encrypt new files with/without Vault id.
      • Support for IntelliJ’s “Auto-Save” feature - OrchidE encrypts Vault files when IntelliJ saves them. Passwords (within Ansible files) are never stored in plain text - even if they are visible in the editor.
        Explicit encryption is not necessary.
      • Supports comparison of Vault files with VCS.

        Support for Ansible Vault files


      More details about decrypting/encrypting can be found in the documentation.


      Changes

      • Change: Further performance improvement for the inspection “Undefined Variables”.
      • Change: Inspection “Undefined Variables” now also supports variables defined in include-/import_role
          
          - import_role:
              name: test_role
            vars:
              testkey: "hello" 
        


      Restrictions for IntelliJ platform 2019.1 and 2019.2

      If there is more than one open project with IntelliJ platform versions 2019.1 and 2019.2, the “Close Project” button must be pressed twice, if there are unsaved vault files.

      Deprecation

      Support for IntelliJ platform 2019.2 is deprecated and will end with the release of IntelliJ platform 2021.2.

      OrchidE version 2020.1.4.0 is the last version supporting IntelliJ platform 2019.1.

    • April 10, 2021

      Announcement: Delay in the publication of OrchidE releases

      Due to a re-organization for the development of OrchidE, unfortunately no releases can be published at the moment.

      We are working to complete the re-organization as soon as possible and release new releases.

    • December 15, 2020

      OrchidE 2020.1.3.0: Performance improvements and new features

      Performance

      OrchidE 2020.1.3.0 includes performance improvements for navigation and Inspection Undefined Variables.


      Code completion

      Code completion is now available for Ansible module arguments that expect a value from a choice.

      Code completion for module arguments


      Code completion, navigation und inspection “undefined variables”

      Code completion, goto declaration and a validation by inspection “undefined variables” are now available for further variable definitions:

      • for variables defined in playbooks with the keyword vars are now fully supported in role tasks.
      • for variables defined in playbooks -> roles: -> vars: are now fully supported in role tasks.


      Changes

      • Changes: added documentation for Ansible keywords (requires OrchidE-Builder update -> (Settings | Languages & Frameworks | Orchide | Extension)

        Quick documentation for keywords

      • Bugfix: Fix IllegalStateException if code completion for Ansible is set to version 2.9 or lower.


      Deprecation

      Support for IntelliJ platform 2019.1 is deprecated and will end with the release of IntelliJ platform 2021.1.

    • November 16, 2020

      OrchidE 2020.1.2.0: Configuration Options for Code Completion of Collections

      In version 2020.1.2.0 you can configure code completion for collections. You can choose between

      • use only the full qualified collection name (FQCN)
      • use only the short name (module name)
      • use the short name based on the keyword collections. If collection is not listed, the FQCN and short name will be displayed
      • always show FQCN and short name

      Settings for code completion of collections

      Navigation

      For the module include_tasks file names with Jinja2 templates are now supported.

      Sample navigation to dynamic include tasks

      This function requires the OrchidE-Builder extension (File | Settings | Languages & Frameworks | OrchidE | Extension) and is only supported for a selection of variables.

      Missing variables can be requested via email or GitHub Issues.

      More details can be found in the documentation

      Configuration

      The assignment of the file extension for YAML is no longer mandatory for OrchidE. OrchidE can now also YAML files recognize if the extensions *.yml, *.yaml are assigned to the YAML plugin.

      This allows the parallel use of OrchidE with other YAML-based plugins and improves the detection of ansible files after IntelliJ updates.

      Deprecation

      Support for the IntelliJ platform 2019.1 is deprecated and ends with the release of the IntelliJ platform 2021.1.

      IntelliJ IDEA EAP 2020.3 support

      OrchidE now supports IntelliJ IDEA EAP 2020.3.

      OrchidE needs the YAML Plugin or a manual assignment of the file extension to recognize the YAML files

      At the time of release of new EAP versions it may happen that there is no YAML plugin in the JetBrains plugin repository. A current snapshot build for manual installation is usually available in the Snapshot Repository.

      Alternatively you can set the assignment of the file extension in the settings (File | Settings | Editor | File Types).

    • October 12, 2020

      OrchidE 2020.1.1.0: Quick Documentation Support for Ansible Modules

      In version 2020.1.1.0 OrchidE supports the display of the documentation for Ansible modules.

      Quick documentation support

      The IntelliJ Quick Documentation Popup and Tool Window now displays documentation on ansible modules and arguments.

      OrchidE shows the description of modules and their arguments. Included is the description, the requirements and notes, the documentation on arguments, return values and examples.

      The documentation is not part of the plugin and must be installed after the installation/update of the OrchidE plugin.

      To install the documentation, open the dialog File | Settings | Languages & Frameworks | OrchidE | Extension, set the download directory and download the OrchidE Definition Archive. After that a restart of IntelliJ is necessary.

      Configuration dialog OrchidE extension

      Changes

      • Bugfix: Fixed the parser error when using “/” in calculations within Jinja2 templates.
    • August 29, 2020

      Special Anniversary Price

      50% discount for private use and 30% for organizations

      sample discount code


      see details

    • August 24, 2020

      OrchidE 2020.1.0.0: Support for Ansible Galaxy Collections

      In version 2020.1.0.0 Ansible Collections are now supported and it is possible to navigate to target files for import/include modules.

      Ansible Collection support

      OrchidE now supports modules of the most common Ansible Galaxy Collections - in FQCN and short notation. The support includes parsing of Ansible files and the code completion for modules for Ansible version 2.10.

      Ansible collection support in OrchidE

      OrchidE can be extended with additional Ansible Collections to add missing or updated collections. For this purpose there is a CLI tool on GitHub to create updated definitions.

      For the modules (and arguments)

      • import_playbook
      • import_tasks
      • include_tasks
      • include_tasks: -> file:
      • import_role: -> name:
      • include_role: -> name:
      • include_vars: -> file:
      • vars_files:

      the navigation “Go to Declaration” (Ctrl + B/Command + B) is now supported. Supported are file/path names relative to the current file.

      New inspections

      New Inspections check the validity of keywords and module arguments:

      • Inspection “Unknown Ansible play, task and block keyword”
      • Inspection “Unknown Ansible role keyword”
      • Inspection “Unknown module argument”

      (Supported for Ansible versions 2.8 - 2.10)

      OrchidE Inspection Unknown Keyword and Argument

      Open issues

      When using modules in short form there are restrictions if two or more collections use the same name (e.g. user)

      In this case, all module arguments are always offered by code completion. Also, the inspection “Unknown module argument” checks for all arguments of all possible modules.

      The Inspection “Removed Modules” is not yet adapted to version 2.10 of the Ansible project.

      Changes

      • Bugfix: Fixed wrong highlighting for non-playbook/tasks files.
    • June 29, 2020

      OrchidE 2019.1.12.0: Fixes in the parser

      Changes

      • Change: Improved block support.
      • Change: Parser improvements for YAML flow sequences.
      • Change: Updates for support of IntelliJ platform 2020.2.
      • Bugfix: Support “,” after last element in flow sequence.
    • May 28, 2020

      OrchidE 2019.1.11.0: Fixes in the parser

      Changes

      • Change: Improvements of the parser when interpreting plain scalar texts.
      • Bugfix: Fixed parser error when using text in quotation marks within Jinja2 templates.
      • Bugfix: Support for role names with special characters for the command Go to Declaration.
      • Bugfix: Incorrect recognition of TODOs in role and variables files.
    • April 29, 2020

      OrchidE 2019.1.10.0: Supports the creation of Ansible variables based on Jinja2 templates

      In version 2019.1.10.0, you can create Ansible variables for roles and host/group vars directly from Jinja2 template code.

      Intention to create Ansible variable

      With the intentions “Create vars variable” and “Create defaults variable” it is possible to create Ansible variables directly from Jinja2 template code ({{ my_variable }})

      With the intention “Create host/group var variable” a variable can be created for each Ansible Reference in an existing host/group var based on a Jinja2 template code.

      To use Ansible command line variables (parameter –extra-vars) in OrchidE, such variables can be created in OrchidE. These variables will taken into account durtaing code completion and the inspection “Undefined Variable”.

      Settings Extra Vars

      These variables are stored in the IntelliJ .idea project directory (orchide-extravars.xml) and can checked-in to version control system.

      With the Quick Fix action for the inspection “Undefined Variable” new variables can easily be added to the list. Quick Fix extra vars

      Other changes

      • Bugfix: Fix error on enter in empty file
      • Bugfix: Fix parser error in multi line strings when using multi line quote strings
      • Bugfix: Fix several parser errors in jinja strings
      • Bugfix: Fix error when using a module name string as jinja reference
      • Bugfix: Fix quick fix error in plain text jinja templates
    • March 25, 2020

      OrchidE 2019.1.9.0: Changes, bug fixes and support for custom directory layout for Ansible files

      In version 2019.1.9.0, pattern matching can now be configured to detect Ansible playbooks, roles and variables. This means that any folder structure can now be used with OrchidE and roles and playbooks can be created in any parent folder.

      Settings for detection of Ansible files

      Folding now supports more elements - playbooks, keywords, tasks, modules, module arguments, blocks, multi-line text, lists and dictionaries are now supported.

      To fully expand and collapse all elements, you must activate the folding in the settings. (File | Settings | Editor | OrchidE | Section Folding)

      The default setting still only considers tasks and top-level variables.

      Folding settings dialog

      Other changes

      • Change: when inserting modules with “free_from” argument via code completion, no line break is inserted anymore (shell, command, import_tasks, …)
      • Change: support tag !unsafe for raw strings
      • Change: improvements and fixes for indent on enter feature
      • Bugfix: fixes various parser errors for Ansible filter
    • February 24, 2020

      OrchidE 2019.1.8.0: Changes, bug fixes and support for IntelliJ EAP 2020

      Version 2019.1.8.0 now indents the cursor automatically and supports the EAP program 2020.1.

      Enter now automatically indents based on typical usage in Ansible Playbooks and Roles. For the keywords - block, rescue, always, tasks, pre_tasks, post_tasks and handlers - the hyphen for the typically following tasks are added.

      To unindent a line, the “Smart Key” setting Unindent on Backspace is supported. Note: In OrchidE there is no distinction between the two indent options of IntelliJ.

      Furthermore, the indentation can be undone by pressing the “Enter” key if the current line is a blank line. This functionality is deactivated by default and must be activated via Settings -> Editor -> OrchidE.

      It is now possible to use encrypted values for variables in playbooks, roles and vars files (YAML tag !vault)

      Other changes

      • Change: variable name can now begin with “_” or numbers
      • Change: (internal) plugin metadata changed to organization id
      • Change: improvement of the parser for multi line text.
      • Bugfix: fixes the parser error when a comma comes after a jinja variable.
      • Bugfix: fixes the parser error when using lists below roles:.
      • Bugfix: fixes code-completion in the handler: section in playbooks.
    • January 28, 2020

      OrchidE 2019.1.7.0: minor changes and bug fixes

      Version 2019.1.7.0 of OrchidE now ignores Ansible vault files and supports the keyword vars in tasks.

      • Change: support keyword vars within tasks. Variables defined by vars keyword are used by code completion, inspection undefined variables and navigation go to declaration. Fixes also the navigation bug of playbook keyword vars.
      • Change: support detection of Ansible vault files. OrchidE no longer parses and inspect Ansible vault files. Ansible vault files will now be opened as plain text.
      • Change: support latest JetBrains Floating License Server API.
      • Bugfix: fix wrong deprecated warning when switching from configured Ansible 2.9 to an older version.
      • Bugfix: fix inspection deleted modules showing wrong result when switching from configured Ansible 2.9 to an older version.
      • Bugfix: parser trim support for yaml multi line text (|-, >-).
      • Bugfix: NPE com.taff.plugin.orchide.codeinsight.OrchideUtilKt.getType.
      • Bugfix: fix TypeCastException when triggering code completion within empty blocks.
    • November 28, 2019

      OrchidE 2019.1.6.0: IntelliJ platform 2019.3 support

      Version 2019.1.6 of OrchidE now supports IntelliJ platform 2019.3.

      Playbooks now supporting the keyword vars: for code completion and the inspection “Undefined Variables”.

      • Bugfix: missing keywords “become_exe” and “throttle” of Ansible 2.9 added.
      • Bugfix: fix commenter exception “Access is allowed from event dispatch thread only.”
    • November 4, 2019

      OrchidE 2019.1.5.0: Ansible 2.9 Support

      Version 2019.1.5 of OrchidE now supports Ansible version 2.9.

      A new inspection “Removed Modules” now helps migrating to a new Ansible version. Starting with Ansible Version 2.9 removed modules are still accepted by the parser, but can be declared as a warning or error via the inspection “Removed Modules” and can be reviewed in the inspection results. Inspection Deleted Modules for Ansible 2.9

      • Change: the inspection for detecting Deprecated Modules now shows the names of the module and possibly existing replacement modules.
      • Bugfix: Jinja2 Whitespace Control - Jinja2 templates will now be correctly parsed when using Jinja2 Whitespace Control expressions {{-, -}}.
      • Deprecated: support for Ansible Version 2.5 syntax highlighting and code completion is deprecated.
    • September 30, 2019

      OrchidE 2019.1.4.0: minor changes and bug fixes

      Version 2019.1.4.0 of OrchidE now also allows “yaml” as file extension and brings some bugfixes.

      • Change: it is now also possible to use the file extension yaml for Ansible files.
      • Bugfix: when extracting selected text into a Jinja variable, too much text was cut if the cursor was at the end of the line.
      • Bugfix: fixed the StringIndexOutOfBoundsException in the Jinja2 template parser.
      • Bugfix: for Jinja variables the refactoring menu is now hidden (“Extract Variable/Constant”).
      • Bugfix: fixed performance problem when opening the context menu in the editor and the refactor menu.
      • Bugfix: fixed detection of group/host variable files with standard directory layout.
    • August 29, 2019

      OrchidE 2019.1.3.0 brings Jinja2 template support

      Jinja2 templates

      OrchidE now supports Jinja2 templates.

      Jinja2 template support for Ansible templates

      OrchidE supports Jinja2 templates for

      • XML (“.xml.j2”)
      • JSON (“.json.j2”)
      • Properties (“.properties.j2”)

      Files. Other file extensions are interpreted as plain text. To use the Jinja2 template support, the file extension “.j2” must be appended.

      In Jinja2 expressions ({{ }} / Ansible variables and filters) and simple statements ({% % %}) are supported. Also all IntelliJ functions are supported as for Ansible playbooks and roles (Goto functions, search, highlighting, code completion).

      Inspection undefined variables with improved loop support

      The inspection undefined variables can now check dictionaries in loop variables.

      Quick fix support for undefined variables in loops

      Changes

      • The goto function (for Goto Ansible variables - Navigate | Symbol, Ctrl + Alt + Shift + N, Cmd + Alt + O) now searches inside all roles of the project.
        So far, the search has been limited to host and group variables and other variables depending on the active editor.

      Bugfixes

      • OrchidE now also recognizes YAML files as Ansible variables file which are stored directly in the folder group_vars.
      • The goto function (Navigate | Class, Ctrl + N, Cmd + O) now finds role files in role folders with the pattern “roles[^/]*”.
        So far, the pattern has been “roles\/”.
    • July 25, 2019

      OrchidE 2019.1.2.0 released

      OrchidE now supports the IntelliJ platform version 2019.2. Shortly after JetBrains has released its latest version, you can already use OrchidE with it.

      Changes

      • Code Completion for Jinja variables now also shows snippets of values. Code completion of Ansible variables with display of values
      • Code Completion for Jinja variables now also works with incomplete Jinja templates and subsequent parser errors. Code completion with open Jinja brackets

      Bugfixes

      • Comments directly after a multi-line string are now correctly displayed as comments.
      • Keywords that were only added with an Ansible Version 2.5 - 2.8 are now correctly compared with the set version and are is correctly hidden and shown during code completion.
      • The goto function (Navigate | Class, Ctrl + N, Cmd + O) now also finds playbook files without explicit subfolders.
      • Code Completion for block keywords now also works for always and rescue.
    • July 12, 2019

      The latest version of OrchidE now supports more IntelliJ products and syntax highlighting and code completion for Ansible version 2.8.

      • OrchidE now supports code completion and syntax highlighting for the latest Ansible version 2.8.
      • OrchidE can now be used with more JetBrains products, it’s now compatible with
      • DataGrip
      • GoLand
      • PyCharm
      • PhpStorm
      • RubyMine
      • WebStorm

      to use OrchidE, at least version 2019.1.1 of the respective JetBrains product is required