Cron Everything

Cron Everything is an IntelliJ IDEA plugin that adds cron expression tooling to .properties, .yaml/.yml files, and @Scheduled annotations in Java and Kotlin. It works on both Community and Ultimate editions.

Available on the JetBrains Marketplace · EULA


Cron Everything plugin screenshot

Inlay Hints Link to heading

Human-readable descriptions shown inline next to cron values — in .properties, .yaml/.yml, and @Scheduled annotations:

app.backup.cron=0 0 2 * * *    # at 02:00
spring:
  job:
    cron: "0 0 9 * * MON-FRI"    # at 09:00 Monday through Friday
@Scheduled(cron = "0 30 9 * * MON-FRI")   // at 09:30 Monday through Friday
void generateReport() { ... }

Hover over the hint to see the full description when it is truncated. Toggleable under Settings → Editor → Inlay Hints.


Next Execution Times Link to heading

Cron Everything plugin next executions

A code vision lens shows the next scheduled run inline. Click it to open a popup listing the next N upcoming executions, formatted and timezone-adjusted to your preference.

Supported in .properties, .yaml/.yml, and @Scheduled annotations. Configure the count, timezone, and date/time format under Settings → Tools → Cron Everything.


Cron Builder Link to heading

Cron Everything plugin cron builder

A dedicated tool window (View → Tool Windows → Cron Builder) lets you compose and validate cron expressions interactively:

  • Live description and validation as you type
  • Preset expression templates
  • Next-10-executions preview with timezone control
  • Copy-to-clipboard button

Use the Edit with Cron Builder intention action (Alt+Enter) on any @Scheduled(cron = "...") attribute to open it pre-filled with the current expression.


Syntax Highlighting Link to heading

Each field of a cron expression in @Scheduled(cron = "...") annotations receives a distinct colour: seconds, minutes, hours, day-of-month, month, and day-of-week.

Customisable via Settings → Editor → Color Scheme → Cron Expression.


Spring Property Placeholders and SpEL Link to heading

Inlay hints and code vision resolve both ${my.property} placeholders and Spring Expression Language references in @Scheduled(cron = "..."), looking up values from .properties and .yaml/.yml files.

Supported SpEL forms:

  • #{bean.property} - property reference on a Spring bean
  • #{bean.getProperty()} - getter method call on a Spring bean
  • #{@beanName.property} - explicit @-prefixed bean reference
  • #{'${placeholder}'} - Spring placeholder wrapped in a SpEL string literal

Bean discovery covers @Component, @Service, @Repository, @Controller, @Configuration, and @ConfigurationProperties classes (including @ConstructorBinding), as well as @Bean factory methods. @ConfigurationProperties fields are resolved with relaxed binding, so kebab-case, camelCase, snake_case, and SCREAMING_SNAKE variants all match.


Inspections and Quick Fixes Link to heading

Five built-in inspections catch common mistakes before they reach production:

InspectionLevelQuick Fix
Invalid cron expressionError
Expression runs every second (* * * * * *)WarningChange to every minute
Fixed minute confused with interval (5 * * * * vs */5 * * * *)WarningConvert to interval
Ambiguous numeric day-of-week (differs between Spring and Quartz)WarningUse named day (MON–SUN)
Unreachable date (e.g. Feb 30)WarningUse last safe day of month

Active in all supported file types and @Scheduled annotations. Toggleable individually under Settings → Editor → Inspections → Cron Everything.


Supported Formats Link to heading

Auto-detected from field count and syntax:

FormatFieldsExample
Unix5 fields30 9 * * 1-5
Spring6 fields0 30 9 * * MON-FRI
Quartz6–7 fields0 30 9 ? * MON-FRI 2024

Supported Locations Link to heading

  • .properties files
  • .yaml / .yml files
  • @Scheduled(cron = "...") annotations in Java and Kotlin

Settings Link to heading

Cron Everything plugin settings

Configure via Settings → Tools → Cron Everything:

SettingDescription
Execution countNumber of upcoming executions shown in the popup (default: 10)
TimezoneTimezone used when calculating and displaying execution times
Date/time formatFormat string for execution timestamps in the popup
Inlay hintsToggle human-readable descriptions shown inline in the editor
Next executionsToggle the code vision lens showing the next scheduled run

Requirements Link to heading

IntelliJ IDEA 2024.2 or later (Community or Ultimate).


Changelog Link to heading

1.1.0 — 2026-05-11 Link to heading

  • SpEL expression support in @Scheduled(cron = “…”): inlay hints and code vision now resolve Spring Expression Language references
  • #{bean.property} - property reference on a Spring bean
  • #{bean.getProperty()} - getter method call on a Spring bean
  • #{@beanName.property} - explicit @-prefixed bean reference
  • #{'${placeholder}'} - Spring placeholder wrapped in a SpEL string literal
  • Bean discovery for SpEL resolution covers @Component, @Service, @Repository, @Controller, @Configuration, and @ConfigurationProperties classes (including @ConstructorBinding), as well as @Bean factory methods

1.0.0 — 2026-04-20 Link to heading

  • Per-field syntax highlighting in @Scheduled cron expressions (seconds, minutes, hours, day-of-month, month, day-of-week)
  • Cron Builder tool window with live validation, preset templates, and next-10-executions preview
  • “Edit with Cron Builder” intention action (Alt+Enter) on @Scheduled cron attributes
  • Copy-to-clipboard button in the Cron Builder
  • Spring property placeholders resolved in @Scheduled from .properties and .yaml/.yml

0.3.0 — 2026-04-15 Link to heading

  • Inlay hints for @Scheduled annotations in Java and Kotlin
  • Code vision lens showing the next scheduled execution; click for upcoming runs popup
  • Inspections for @Scheduled cron expressions with quick fixes

0.2.1 — 2026-04-14 Link to heading

  • Code vision lens showing next scheduled execution time inline; clicking opens a popup with the next N runs
  • Plugin settings (Settings → Tools → Cron Everything): execution count, timezone, date/time format, toggles for inlay hints and next executions

0.1.1 — 2026-04-09 Link to heading

  • Fixed: inlay hint tooltip not showing full text on Windows

0.1.0 — 2026-04-08 Link to heading

  • Inlay hints in .properties and .yaml/.yml files showing human-readable cron descriptions
  • Inspections: invalid expression, runs every second, fixed minute vs interval, ambiguous day-of-week, unreachable date — each with quick fixes
  • Supports Spring, Quartz, and Unix cron formats