Getting Started with MPS 2026.1 EAP: A Hands-On Guide to New Features

Introduction

The Early Access Program (EAP) for MPS 2026.1 is now live, bringing a host of improvements and new capabilities. This guide walks you through downloading, installing, and leveraging the key features introduced in this build, including the platform upgrade, natural language checks, binary operation splitting, the read-only inspector style, and transitive dependency management. Whether you're a language designer or a project developer, these steps will help you take full advantage of the latest enhancements.

Getting Started with MPS 2026.1 EAP: A Hands-On Guide to New Features
Source: blog.jetbrains.com

What You Need

Step-by-Step Guide

Step 1: Download and Install MPS 2026.1 EAP

Begin by obtaining the latest EAP build from the official JetBrains website. Follow these steps:

  1. Navigate to the MPS download page and locate the 2026.1 EAP section.
  2. Click the download link for your operating system.
  3. Run the installer and follow the on-screen instructions. The installer includes JDK 25 and Kotlin 2.3.0 support, so no separate setup is needed.
  4. Once installed, launch MPS. You can open an existing project or create a new one to test the features below.

Step 2: Enable and Use Natural Language Checks for ICheckedNamePolicy

MPS now integrates with the IntelliJ Platform’s natural language support via Grazie. This allows you to verify that names in intentions, actions, and tools follow proper capitalization rules for a chosen language. To set it up:

  1. Go to File | Settings | Languages & Frameworks | Natural Languages.
  2. Add a language pack (e.g., English, German) by clicking the “+” button and downloading the required dictionaries.
  3. In your MPS project, create or locate an ICheckedNamePolicy implementation (e.g., for an intention or action).
  4. Open the policy and check its Capitalization property. You’ll see four options:
    • Title-case (default, follows standard rules)
    • Sentence-case (intelligent platform rules)
    • Inherited (uses the rules from the closest ancestor policy)
    • No capitalization rules (disables checking)
  5. Select the desired option. MPS will automatically detect the language of the string and suggest corrections if capitalization is off. You can also manually specify a language in the policy settings to bypass detection.

Step 3: Split Binary Operations Across Multiple Lines

Long expressions with binary operators (e.g., a + b + c + d) can now be broken into multiple lines for better readability. To use this feature:

  1. Open an editor with a BinaryOperation node (like an addition or logical AND).
  2. Place your cursor anywhere on the binary operation line.
  3. Press Alt+Enter (or equivalent intention shortcut) to open the intention menu.
  4. Select “Split binary operation into multiple lines”. MPS will reformat the expression so each operator starts a new line.
  5. To revert, use the same intention and choose “Join binary operation into single line”. You can toggle between layouts as needed.

Step 4: Apply the Read-Only Inspector Style

The new read-only-inspector boolean editor style lets you enforce read-only behavior specifically in the inspector for selected nodes. Follow these steps to use it:

Getting Started with MPS 2026.1 EAP: A Hands-On Guide to New Features
Source: blog.jetbrains.com
  1. Open your editor definition (e.g., a concept editor).
  2. Select a cell in the main editor that you want to become read-only when its node is inspected.
  3. In the Properties pane for that cell, locate the Boolean Editor Styles list.
  4. Enable the read-only-inspector style (disabled by default). This style is inheritable and can be overridden in child cells of the inspector.
  5. Now, when you click that node in the main editor and open the inspector (e.g., via Alt+Shift+I), all cells in the inspector become read-only. The style does not affect the main editor itself.
  6. To override, set read-only or not-read-only on individual inspector cells to fine-tune permissions.

Step 5: Manage Transitive Dependencies in Build Language

Build Language scripts no longer require explicit listing of every transitive build script. This simplifies dependency management for complex projects. To take advantage:

  1. Open your Build Language script (e.g., buildA.msl).
  2. Define a dependency on buildB using the dependencies directive.
  3. Ensure buildB itself depends on buildC. MPS will automatically resolve buildC through the transitive chain.
  4. In the generated Ant script, artifacts from buildC will be referenced as ${artifacts.BuildC} – you can supply these from an outer build tool like Gradle or Maven.
  5. No need to add buildC explicitly in buildA’s dependencies list. This reduces duplication and maintenance effort.

Tips for a Smooth EAP Experience

Tags:

Recommended

Discover More

Dart and Flutter Developers Get a Game-Changing AI Skill Set: Task-Oriented, Not Just Tools10 Revelations from the Shahed-136 Gimbal Camera TeardownUpgrading Fedora Silverblue to Fedora Linux 44: A Step-by-Step Rebase GuideDolphin Speed Secrets Unveiled: Supercomputer Simulations Reveal Vortex Mechanics7 Essential Strategies for Closing the Local Account Security Gap