IntelliJ AEM

Plugin supporting Adobe Experience Manager development with IntelliJ IDEA

IntelliJ AEM is in public beta now, so feel free to try it out. Please sign up if you'd like to hear about updates.

What is IntelliJ AEM?

IntelliJ AEM is a plugin for IntelliJ IDEA that aims to support development for Adobe's Experience Manager platform. It provides code completion, inspections and quick fixes, and many more features that you will benefit from every day. In addition, it's aim is to bring many of the useful tools together that are spread all over the place.

Check out the Documentation section for a guide on how to get started. Or take a look at the Features provided by IntelliJ AEM.

Sneak Peek

IntelliJ AEM uses several of IntelliJ IDEA's extension points to provide functionality that helps in developing for Adobe Experience Manager. The Features section presents a comprehensive overview, but here's a sneak peek to get you started:

  • Custom Language Support

    One of the plugin's most notable additions is support for the custom XML format that Jackrabbit FileVault, and thus AEM's package manager, use for serializing JCR content. It's the foundation that makes features like syntax highlighting and fine-grained code assist possible in the first place.

  • Code Completion

    Without a doubt, code completion is one of the most useful features of modern IDEs. With IntelliJ AEM, you get code completion for various entities such as resource types, node types, and property names.

  • Inspections and Quick Fixes

    Some issues often become only apparent after installing your content or code. In order to safe precious time, IntelliJ AEM adds various inspections that highlight common errors or problems, and it allows you to fix them immediately.

Recent Updates

Here's a list of the most recent releases including their fixes and changes. Please also check out the Features overview for a more thorough description of newly added items.

  • Version 0.7

    Added

    • Added intention and menu action for creating OSGi configuration
    • Recognize file paths in FileVault property values while also respecting selectors and extension, e.g. .infinity.json
    • Automatically include deployed OSGi bundles as external libraries
    • Added support for OSGi factory configurations
    • Added custom language support for .config OSGi configuration files
      • Added parser and lexer for .config files
      • Added syntax highlighting
      • Added code completion for property types and values
      • Added inspection checking for valid property type
    • Allow navigation from property in configuration file to declaration in OSGi component property type
    • Added plugin icon

    Changed

    • Recognize classes annotated with @SlingFilter, @SlingServlet, and @SlingHealthCheck as OSGi components
    • OSGi configuration files now show a custom icon in project tree view

    Fixed

    • Fixed that JCR properties are available for completion even though framework support is not enabled
    • Fixed indexing of resource types on AEM 6.4
    • Fixed invalid text range assertion error when resolving component references in unclosed string literals
    • Fixed invalid text range assertion error when injecting FileVault language in unclosed XML attributes
    • Fixed failing FileVault export when no AEM instances are configured
    • Fixed failing FileVault export when node selected for export does not exist anymore
    • Fixed that boolean type was not properly recognized for OSGi properties
    • Fixed read access assertion error when finding usages of OSGi components
    • Fixed read access assertion error when finding usages of OSGi component properties
All Updates