Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>CX Composer for LiferayNew to Visual Studio Code? Get it now.
CX Composer for Liferay

CX Composer for Liferay

Preview

Client Extension Composer For Liferay

| (0) | Free
| Sponsor
The developer workbench for Liferay Client Extensions. Scaffolding for all 28 CX types, IntelliSense on client-extension.yaml, per-extension build via Blade, and free validators for LCP.json and Dockerfile.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
CX Composer

CX Composer for Liferay

The developer workbench for Liferay Client Extensions — inside VS Code.

Scaffolding for all 28 Liferay Client Extension types. IntelliSense on client-extension.yaml. Per-extension build. Free validators for client-extension.yaml, LCP.json, and Dockerfile.

cxcomposer.dev · Extension reference · hello@cxcomposer.dev


Why CX Composer

Authoring a Liferay Client Extension means writing client-extension.yaml from memory, wiring up assets and Gradle tasks by hand, and hoping the schema you copied from learn.liferay.com is up to date. CX Composer collapses all of that into an editor-first workflow.

  • Scaffold once, ship often — pick a target folder, pick a type, answer the required prompts. You get a full project — manifest, README, assets — that builds on first try.
  • Never write yaml from memory — completions and Markdown hover for every field on every type, driven by a schema pulled straight from Liferay's official YAML reference and cross-checked against 131 real production files in liferay/liferay-portal.
  • Catch typos before deploy fails — instanceableq when you meant instanceable? Squiggle on the exact line with a did-you-mean suggestion.
  • Per-extension build — blade gw buildClientExtensionZip runs inside the specific client-extension folder. Monorepo-aware, right-click friendly.

Features

Scaffold every type. One wizard.

Multi-step wizard for all 28 Liferay Client Extension types: Custom Element, IFrame, Global CSS, Global JS, Theme CSS, Theme Favicon, Theme Sprite Map, JS Import Map Entry, Editor Config Contributor, FDS Cell Renderer, FDS Filter, Static Content, OAuth Application (Headless Server / User Agent), Instance Settings, Notification Type, Object Action, Object Validation Rule, Object Entry Manager, Workflow Action, CAPTCHA, Batch, Site Initializer, Commerce Payment Integration, Commerce Checkout Step, Commerce Shipping Engine, Commerce Tax Engine, Audiences Custom Attributes.

Each type gets type-appropriate assets and required prompts.

IntelliSense that reads Liferay's docs

Completions and Markdown hover for every field. Unknown-field detection with did-you-mean suggestions. Missing-required-field diagnostics.

Validate three file types out of the box

  • client-extension.yaml — full schema, all 28 types
  • LCP.json — Liferay Cloud service configuration
  • Dockerfile — instruction ordering, deprecation warnings

Auto-runs on save and open. Explicit Validate File command surfaces every diagnostic in the Problems panel plus a summary toast.

Per-extension build

Runs blade gw buildClientExtensionZip inside the specific client-extension folder — not the whole workspace. In monorepos, right-click any client-extension.yaml and the build targets exactly that project.

Right-click integrations

  • Right-click any folder → Scaffold New Project or Add Client Extension Here
  • Right-click a client-extension.yaml → Add Extension, Validate, Build
  • Right-click any file → Validate File (works on all three supported file types)

Activity Bar panel

Dedicated CX Composer view with grouped actions (Project, Build, License) and a live license status row that shows plan, account, start date, and renewal date.


Free vs. Pro

Free (everyone)

  • Validation for client-extension.yaml, LCP.json, Dockerfile
  • Auto-runs on save + open
  • Did-you-mean suggestions for typos and unknown fields
  • Problems-panel integration

Pro — $15 / year

  • Scaffold new projects — all 28 CX types
  • Add Client Extension — append blocks or drop new manifests via folder right-click
  • Per-extension Build — blade gw buildClientExtensionZip
  • IntelliSense — completions + Markdown hover on client-extension.yaml
  • Snippets — YAML / JS / TS / CSS (lrcx-* prefixes)

Get a Pro license: store.cxcomposer.dev

Run CX Composer: Activate License and paste your key. Keys are stored securely in VS Code's SecretStorage and re-verified against Gumroad on a 7-day cadence with an additional 7-day offline grace period.


Requirements

  • VS Code 1.90+
  • Blade CLI on your PATH — only if you use the Build command (configurable via cxComposer.blade.path)
  • Liferay Workspace with the workspace Gradle plugin — only if you build

IntelliSense, hover, validation, and scaffolding need nothing else — no additional VS Code extensions required.


Settings

Setting Default Description
cxComposer.blade.path blade Path to the Blade CLI executable.
cxComposer.build.gradleTask buildClientExtensionZip Gradle task run inside the client extension folder to produce its .zip.
cxComposer.license.key "" Legacy setting; prefer Activate License command.

FAQ

Q. What is a Liferay Client Extension? A declarative package defined by a client-extension.yaml manifest. There are 28 supported types — frontend widgets (Custom Element, IFrame), theming (Theme CSS, Global CSS/JS), configuration (OAuth apps, Instance Settings), microservices (Object Action, Workflow Action, Notification Type, CAPTCHA), batch (Batch, Site Initializer), and Liferay Commerce integrations. Extensions are built into a .zip with blade gw buildClientExtensionZip and deployed to a Liferay DXP server.

Q. Does CX Composer replace Blade? No — it complements Blade. CX Composer invokes Blade for build, but adds editor-first IntelliSense, validation, and a wizard-driven scaffold that Blade doesn't provide.

Q. Can I use CX Composer without paying? Yes. Validation for client-extension.yaml, LCP.json, and Dockerfile is free forever. Everything else requires a Pro license.

Q. What Liferay DXP versions are supported? CX Composer's schema targets Liferay DXP 2024.Q1+ and Liferay Portal GA100+. The Client Extension format has been stable since DXP 2023.Q4.

Q. Is CX Composer affiliated with Liferay? No. CX Composer is an independent third-party product. See cxcomposer.dev/legal for the trademark notice.

Q. How is my license key stored? In VS Code's built-in SecretStorage. Re-verification against Gumroad happens every 7 days with an additional 7-day offline grace period.


Support

  • Email: hello@cxcomposer.dev — usually a reply within 24h
  • Docs: cxcomposer.dev/extensions
  • Buy: store.cxcomposer.dev

Trademark notice

Liferay® and Liferay DXP® are registered trademarks of Liferay, Inc. CX Composer for Liferay is an independent third-party product and is not affiliated with, endorsed by, or sponsored by Liferay, Inc.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft