IntelliJ AEM

Plugin for JetBrains IDEs that supports you in developing for Adobe Experience Manager

IntelliJ AEM is a plugin for the IntelliJ platform that aims to support the development for Adobe's Experience Manager. It provides support for custom languages, advanced code completion and refactoring, inspections and quick fixes, and many more features that developers will benefit from every day. In addition, it provides useful tools to simplify interactions with live AEM instances.

Buy now*

*30-day trial available

Feature Highlights

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

  • Push and pull content

    Easily pull content from or push content to AEM from within the IDE — no external tools required

  • Coding assistance

    Syntax highlighting, smart code completion, and navigation and refactoring support greatly simplify your developer life.

  • Inspections

    Numerous inspections catch potential problems early. Quick fixes speed up your development workflow.

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 1.10.2


    • Fixed threading-related assertion errors
  • Version 1.10.1

    This update adds compatibility with IntelliJ IDEA 2023.3.


    • Fixed parser error when single-value property with type declaration is only one character long
  • Version 1.10.0


    • Completely revamped completion of properties and child nodes
      • Child node completion is based on live templates now
      • Child node completion adds common properties and their values can be changed right away
      • Improved code style-based formatting after completion
      • Completing properties and child nodes takes resource super types into account now
    • Added property and child node completion for Coral / Granite UI form components including:
      • Generic and form field-specific properties such as granite:class
      • Container components such as container, accordion, tabs, etc.
      • Render conditions such as simple, privilege and feature, and conditionals like and, or and not
      • Form components like textfield, select, multifield including their child nodes
      • Item data sources
    • Added support for Sling Model injection annotations provided by ACS AEM Commons, for example @AemObject
    • Added inspection warning about multiple injection constructors in Sling Models
    • Added new import modes merge_properties and update_properties to filter.xml schema


    • Export Content action is now enabled in all source directories


    • Fixed that nullable annotation was inferred even though field was annotated with @Default
    • Fixed missing read access when finding usages of component
    • Fixed that OSGi service reference was marked as invalid when OSGi component does neither define a service interface nor implement any interfaces
    • Fixed warning added to workspace filter roots pointing to XML file aggregates such as _rep_policy.xml
    • Fixed missing required property warning on XML elements that start with hex-encoded numbers, for example _x0031_
    • Fixed that quick fix changed property type to{String} instead of correct one
    • Fixed issue where @Nullable annotation was not inferred when InjectionStrategy.OPTIONAL is used
    • Fixed parser error when curly brace is used at beginning of single-value property with type declaration
All Updates