Skip to content

Extension Points

For a list of IntelliJ extensions, look at Extension Point and Listener List | IntelliJ SDK ⧉. The following table lists MPS extension points that use the IntelliJ mechanism.

Qualified name Interface Description
com.intellij.mps.editorWarningsProvider EditorWarningsProvider ⧉ provider for warnings that are shown above the editor (e.g., the node is in a read-only model)
com.intellij.mps.facetTabFactory FacetTabEP ⧉ custom facets (e.g., ideaPlugin facet)
com.intellij.mps.modelRootEntry ModelRootEntry ⧉ UI entry in the module properties dialog corresponding to the specific model root
com.intellij.mps.modelRootFactory ModelRootFactory ⧉ factory, which creates model roots
com.intellij.mps.modelTemplateProvider ModelTemplateProvider ⧉ create new models using a template
com.intellij.mps.renameRefactoringContributor RenameRefactoringContributor ⧉ contribution to the rename refactoring action
com.intellij.mps.VisibleModuleMask VisibleModuleMask ⧉ controls the visibility of MPS modules
jetbrains.mps.debugger.PositionProvider PositionProvider ⧉ source position of current debugger line
jetbrains.mps.nodeStructureViewProvider NodeStructureViewProvider ⧉ provider for the structure tool in the lower left corner
mps.CodeNavigationProvider CodeNavigationProvider ⧉ opener for generated code files
mps.ModelValidator ModelValidator ⧉ validate a list of models

The following sections are about MPS extension points ⧉.

MPS

Name Interface Description
ActionIDs ⧉ List ⧉ action IDs for tests
customContainers ⧉ lambda ⧉ custom collection container
GeneratorCache ⧉ GenerationCacheContainer ⧉ cache container for the generator
HttpRequestHandlerEP ⧉ IHttpRequestHandlerFactory ⧉ handle requests to the HTTP server
JavaToKtConverters ⧉ TypeConverterEngine ⧉ custom type converters between Java and Kotlin
KtToJavaConverters ⧉ TypeConverterEngine ⧉ custom type converters between Kotlin and Java
LanguageAspectsEP ⧉ LanguageAspectDescriptor ⧉ automatic gen. language descriptors
MoveModelParticipantEP ⧉ MoveModelRefactoringParticipant ⧉ move model refactoring action
MoveNodeParticipantEP ⧉ MoveNodeRefactoringParticipant ⧉ move node refactoring action
MoveNodesActionEP ⧉ MoveNodesAction ⧉ move nodes action
NodeRenamer ⧉ lambda ⧉ rename node action
PersistentRefactoringParticipantsEP ⧉ Iterable ⧉ refactoring action
RenameNodeParticipantEP ⧉ RenameNodeRefactoringParticipant ⧉ rename node action
TypesystemExtension ⧉ KotlinTypesystem ⧉ extensions to the Kotlin typesystem

Mbeddr

Name Interface Description
CustomLayouts ⧉ LayoutFactory ⧉ custom layouts for the Java JUNG diagram language
ToolsSanityCheckerProvider ⧉ ToolsAvailabilityChecker ⧉ check if external tools are available
HttpRequestHandlers ⧉ IRequestHandler ⧉ handle requests to the HTTP server
ServletProvider ⧉ IServletProvider ⧉ the provider of the servlet
CCMenuExtensionsDescriptors ⧉ ICCMenuExtensionsDescriptor ⧉ code completion menu extension
customValueRenderer ⧉ CustomValueRenderer ⧉ renderer for custom values in the trace explorer
MULTILINGUAL_PROVIDERS ⧉ ILanguageProvider ⧉ language provider for multilingual
InterpreterExtensionPoint ⧉ IInterpreter ⧉ custom interpreter implementation
HttpServerConfigChangeListener ⧉ IHttpServerConfigChangeListener ⧉ listener for config changes of the HTTP server
TargetModifiers ⧉ ITargetCreationActionModifier ⧉ modify the target creation in the code completion menu
TargetSetupExtensions ⧉ ITargetSetupExtension ⧉ modify the target setup in the code completion menu
wizardExtensions ⧉ ExtensionProvider ⧉ add a step to a wizard
RichstringEvaluator ⧉ IRichstringEvaluator ⧉ evaluate a richstring
SearchNodeFilter ⧉ ISearchNodeFilter ⧉ customizations for the filtering of the search tool
documentationAspectConfiguration ⧉ IDocumentationAspectConfiguration ⧉ customizations for the documentation tool
BackgroundCheckin ⧉ BackgroundCheckinHandler ⧉ checkin handlers that are executed in the background
ForegroundCheckin ⧉ ForegroundCheckinHandler ⧉ checkin handlers that are executed in the foreground
json ⧉ JsonConfig ⧉ customizations for the JSON language
XMLExtension ⧉ XMLConfiguration ⧉ customizations for the JetBrains XML language

MPS-Extensions

Name Interface Description
diagramConnectionTypesProvider ⧉ IConnectionTypesExtensionProvider ⧉ connection types provider for diagrams
diagramConnectionTypesProvider ⧉ IConnectionTypesExtensionProvider ⧉ global provider for diagram connection based on the concept in the diagram
diagramPaletteEntryProvider ⧉ IPaletteEntryExtensionProvider ⧉ entry provider for diagrams
diagramPaletteEntryProvider ⧉ IPaletteEntryExtensionProvider ⧉ global provider for diagram palette entries based on the concept in the diagram
DragSelectionHandlerEP ⧉ IDragSelectionHandler ⧉ drag selection handler
GlobalDiagramMouseListener ⧉ MouseListener ⧉ mouse listeners for diagrams
GlobalDiagramMouseListener ⧉ MouseListener ⧉ listener for global mouse clicks in diagrams
GlobalDiagramMPSCellClickListener ⧉ MPSCellMouseListener ⧉ listener for mouse clicks in MPS cells in diagrams
IdentityCalculators ⧉ IdentityCalculator ⧉ identity calculators for the model merger
ModelMergeExt ⧉ MergePolicySpec ⧉ merge policy specifications for model merger
ParserFailureNotifierExtensionPoint ⧉ ParserFailureNotifier ⧉ notification when the parser of Grammar Cells receives an timeout
queryListExtPoint ⧉ QueryListConfig ⧉ customizations for the querylist language

IETS3

Name Interface Description
bookmark ⧉ BookmarkConfig ⧉ customizations for the bookmark explorer
components ⧉ ComponentsConfig ⧉ customizations for the components language
constraintViolationHandler ⧉ ConstraintViolationHandler ⧉ handler for KernelF constraint violations
identifierConfigurator ⧉ IdentifierConfigurator ⧉ configuration for identifiers (allow umlauts/paragraphs)
mandatoryAttributesProviderEP ⧉ IMandatoryAttributesProvider ⧉ provider for mandatory attributes
mutatorContributions ⧉ MutatorFactory ⧉ factory for creating mutators
nameCompletionProvider ⧉ NameCompletionProvider ⧉ name completion provider for nodes of type INamedConcept + a prefix
nixHandler ⧉ NixHandler ⧉ handler for empty ('nothing') values
PhysUnitLangConfig ⧉ IUnitLangConfig ⧉ customizations for the physical units language
primitiveTypeMapper ⧉ PrimitiveTypeMapper ⧉ basic methods of primitive KernelF types
recordIsComparable ⧉ RecordIsComparable ⧉ custom comparator for records
recordIsComparable ⧉ RecordIsComparable ⧉ customizations for record comparison
RecordValuePresenterExtensionPoint ⧉ IPresenter ⧉ customizations for the presentation of record values
requirements ⧉ RequirementsConfig ⧉ customizations for the requirements explorer
runtimeResolverConfig ⧉ RuntimeResolverConfig ⧉ configuration for runtime resolver (e.g, functions resolving)
solverfactories ⧉ SolverTaskFactory ⧉ factory for creating solver tasks
spec SpecConfig ⧉ customizations for the specification explorer
TraceExplorerExtensionPoint ⧉ ITraceExplorerAction ⧉ customizations for the trace explorer
typesystemCustomization ⧉ TypesystemCustomizer ⧉ customizations for the KernelF typesystem
UnitLangConfig ⧉ IUnitLangConfig ⧉ customizations for the old units language

Comments