Skip to main content
Version: 0.19.0

Code Completion

The Concord IntelliJ Plugin provides intelligent, context-aware code completion for every part of your Concord flows. It understands the Concord schema and your project structure to suggest relevant keys, steps, and parameters.

YAML Key Completion

As you type in a .concord.yaml file, the plugin suggests valid keys based on your current location:

  • Top-level sections: flows, configuration, triggers, forms, etc.
  • Step types: Inside a flow, it suggests call, log, task, checkpoint, if, and others.
  • Call parameters: When using a call step, the plugin suggests input parameters defined in the target flow's Documentation Block.
  • Task parameters: When using a task step, the plugin suggests input parameters and their values from built-in task schemas. See Task Parameter Completion below.

Task Name Completion

When writing a task step, the plugin suggests available task names extracted from your project's Maven dependencies:

  • The plugin resolves JARs declared in configuration.dependencies and configuration.extraDependencies.
  • Task names are extracted from @Named annotations inside the dependency JARs.
  • Suggestions are scope-aware — each scope only shows tasks from its own dependencies.
configuration:
dependencies:
- "mvn://com.walmartlabs.concord.plugins.basic:smtp-tasks:2.35.0"

flows:
main:
- task: sm # Ctrl+Space suggests: smtp
in:
to: "user@example.com"
tip

If you add a new dependency and don't see its tasks in completion, use the floating Refresh toolbar that appears in the editor, or click Refresh in the Concord tool window. See Dependency Change Tracking for details.

Task Parameter Completion

When writing the in block of a task step, the plugin suggests parameter names and values from built-in task schemas:

  • Parameter keys: Suggests valid input parameter names for the given task.
  • Enum values: For parameters that accept a fixed set of values (e.g. action, method), suggests the allowed options.
  • Conditional parameters: Suggestions adapt based on already specified values. For example, after setting action: start, only parameters relevant to the start action are suggested.
flows:
main:
- task: concord
in:
action: start
# Ctrl+Space here suggests parameters for the "start" action:
# repo, org, project, payload, ...

Flow Documentation Completion

When writing structured flow documentation (/** ... */), the plugin helps you define your parameters correctly:

  • Types: Suggests valid Concord types like string, int, boolean, object, and their array counterparts (string[], etc.).
  • Keywords: Suggests keywords like mandatory, required, and optional after the parameter type.

Quick Documentation in Completion

While the completion list is open, you can preview the documentation for the selected item without accepting it. Press CtrlQ to open a documentation popup next to the completion list.

YAML Key Documentation

Selecting a key like flows, configuration, task, or call in the completion list shows a short description of that key's purpose.

YAML Key Documentation in Completion

Quick documentation for a YAML key selected in the completion list.

Task Name Documentation

When completing a task name, the documentation popup shows the full task description along with its input and output parameters, types, and descriptions — the same information you would see when hovering over a task name in the editor.

flows:
main:
- task: co # Ctrl+Space, then Ctrl+Q on "concord"
Task Name Documentation in Completion

Quick documentation for a task name showing description, input and output parameters.

Task Parameter Documentation

When completing parameters inside a task's in block, the documentation popup shows the type and description of the selected parameter.

flows:
main:
- task: concord
in:
# Ctrl+Space, then Ctrl+Q on "url"
Task Parameter Documentation in Completion

Quick documentation for a task parameter showing its type and description.

How to Use

Simply start typing, and the completion list will appear automatically.

  • Force Open: Press CtrlSpace to show suggestions at any time.
  • Select Item: Use the arrow keys to navigate and Enter or Tab to insert the selected item.
  • Documentation: While the completion list is open, press CtrlQ to see a quick description of the selected key (if available).

Example

Autocomplete in Action

Writing a call step becomes much faster as the plugin suggests available flows and their input parameters:

Try it yourself

Type cal and press Enter to create a call step, then use CtrlSpace to see available flow names.

Code Completion Example

Context-aware completion for Concord YAML keys and flow names.

Smart Type Completion

The plugin is smart enough to know that mandatory and optional only make sense in certain parts of a documentation block, filtering out irrelevant suggestions.