Creating a Read-Only MPS Language Plugin for IntelliJ with Limited User Interaction

Hi everyone,

I'm looking to create an MPS-based plugin for IntelliJ where the language is read-only – meaning the end user cannot modify or extend the language structure itself. Instead, they should only be able to:

  • Instantiate specific concept nodes
  • Fill in property values in a controlled UI
  • Trigger code generation based on the input

The goal is to provide a minimal and guided experience for the user, focused purely on data entry within defined concepts, without exposing the language definition or editor capabilities fully.

I’m wondering what the best approach would be to:

  1. Make the language read-only in the context of IntelliJ (no language modification or structure editing).
  2. Allow creation of only specific concept instances.
  3. Enable filling in of properties via a simplified interface or constraints.
  4. Generate code based on this input (via generators or textgen).
  5. Package and publish the language as a plugin for IntelliJ with the described behavior.

Are there existing patterns or best practices for this kind of restricted usage of MPS in an IntelliJ plugin? Any examples or pointers to documentation would be greatly appreciated!

Thanks in advance for your help!

0
1 comment

MPS-as-IntelliJ-plugin functionality was deprecated and will be removed in a future version.

0

Please sign in to leave a comment.