JetBrains IDE plugin for Aiken, the smart-contract language for Cardano.
The plugin provides project creation, managed Aiken toolchains, runners, semantic editor support, LSP diagnostics, and blueprint workflows directly inside IntelliJ-based IDEs.
- Aiken entry in the IDE
New Projectwizard. - Project type, Aiken version, and compatible
stdlibversion selection. - Global toolchain mode for an existing
aikenbinary. - Project-local toolchain mode that installs
@aiken-lang/aikenthrough npm. - Automatic synchronization between the selected local Aiken version and
aiken.toml. - First-open initialization of default Aiken run configurations.
- IDE terminal integration so project-local Aiken binaries take precedence when enabled.
.akand.uplcfile types.- Syntax highlighting.
- Brace, folding, breadcrumbs, and sticky-line support.
- Save formatting through
aiken fmt. New -> Aiken Filetemplates for common modules, validators, and tests.
- Semantic completion for expressions, type annotations, generic arguments, imports, module-qualified calls, records, destructuring, validators, handlers,
when,if, pipes, and callable locals. - Expected-type aware ranking with scope-distance, import-state, alias, generic, and visibility handling.
- Built-in Aiken types and constructors in relevant completion contexts.
- Auto-import for selected indexed exports.
Ctrl+Pparameter info for imported functions, aliases, callable locals, partial application, pipes, validators, and subvalidators.- Navigation, rename, and find usages for Aiken symbols across files and modules.
Go to Symboland Structure View for top-level declarations.
- Diagnostics, hover, and code actions are provided by the Aiken language server.
- LSP quick fixes are surfaced in the IDE.
- Bulk
Remove all unused importsis available on top of the ordinary unused-import quick fix.
- Dedicated Aiken run configuration type.
Run checksforaiken checkwith grouped diagnostics and source navigation.Build blueprintforaiken buildwith IDE output parsing.Parametrize blueprintUI for applying validator parameters.Make artifactsandClean artifactsworkflows.- Structured parameter editor for nested constructors, lists, maps, options, byte arrays, integers, booleans, and raw values.
- JDK 21.
- Gradle wrapper from this repository.
- Node.js and npm in
PATH, or configured through IDE Node.js settings, when using locally managed Aiken toolchains. - A global
aikencommand inPATHwhen using global toolchain mode.
Build the plugin:
./gradlew -q buildRun the plugin in a sandbox IDE:
./gradlew -q runIdeBuild a distributable plugin ZIP:
./gradlew -q buildPluginThe plugin ZIP is written to build/distributions/.
Run tests:
./gradlew testFor memory-heavy full test runs, use a larger Gradle/Kotlin heap:
./gradlew \
"-Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=1g" \
"-Dkotlin.daemon.jvmargs=-Xmx8g" \
test- Native IDE behavior is implemented with IntelliJ PSI, references, search APIs, indices, completion contributors, parameter-info handlers, run configurations, and project services.
- The Aiken compiler and LSP remain the source of truth for formatting, diagnostics, hover, and ordinary code actions.
- Formatting intentionally delegates to
aiken fmt; the plugin does not reimplement Aiken formatter semantics. - Semantic completion, navigation, rename, usages, parameter info, and Structure View are implemented natively for IDE responsiveness and richer context handling.
update_en.mdcontains the plain changelog for Marketplace and moderation.src/main/resources/whatsnew/latest/index.htmlcontains the visual in-IDE What's New page.
If you have feedback, suggestions, or found a bug, please open an issue on GitHub:
https://github.com/MedusaLabs-cardano/intellij_aiken