A plugin for Jetbrains IntelliJ IDEA to support developing Liferay components.
This plugin mainly focuses on code completion features. It gives IntelliJ IDEA more information about typical Liferay files and project structures. By this the existing code completion features of IntelliJ can be used for Liferay specific files, too. There is no user interface for the plugin. Just have a look at the following topics to see which areas have been improved:
- Creating new Modules becomes easier, because this plugin provides you with the official Liferay Maven archetypes.
- Editing Liferay XML files is improved, e.g. by providing the XML Schema files for mostly all Liferay specific XML files.
- For JavaScript files the plugin provides you with libraries for the Liferay barebone Javascript files and AlloyUI.
- For Velocity and Freemarker files in Layout Templates and Themes the plugin provides code completion for known variables and theme settings.
- Also for Journal Templates and Application Display Templates known variables are provided, including variables from Journal structures.
- For CSS / SCSS files references to the parent theme are resolved and specific placeholders like @theme_image_path@ are detected.
- When editing JSP files you have access to the original JSPs (in JSP hooks or web fragments). Additionally code completion is possible for Liferay or AUI taglibs including cssClasses and language keys.
- Known properties for OSGi components are provided (e.g. Portlet properties).
- You can jump forward and backward between the service.xml and the implementation class.
- IntelliJ 2016.3 and above (Community)
- IntelliJ 2016.3 and above (Ultimate)
- Liferay 6.1 CE / EE
- Liferay 6.2 CE / EE
- Liferay 7.0 / DXP
- Maven
- Gradle (Liferay 7.0 / DXP only)
- Npm
See Releases to download binary release versions.
This plugin uses a Gradle based IntelliJ Plugin development.
To build the plugin, just run gradle build
. The build script downloads required files automatically.
Contributions are welcome.
- Indent does not work properly inside
<aui:script>
-Tags containing other tags like<portlet:namespace/>
. @theme_image_path@
reference in CSS files work, but still shown in red (SCSS works properly)
See LICENSE.txt.
For third-party licenses see LICENSE-3RD-PARTY.txt.