Domain-specific languages (DSLs) are widely used in model-driven engineering to increase the development speed and quality compared to conventional software projects, but they often lack the sophisticated language support IDEs provide for general-purpose languages. The language workbench MontiCore can be used to efficiently develop DSLs, but editor support has to be implemented from scratch for each language. To decrease the effort of creating editors for MontiCore DSLs, this paper presents a generative approach, which creates IDE plugins using the language server protocol. This is achieved by converting the MontiCore grammar of a DSL into a language server and generating accompanying plugins for the popular IDEs IntelliJ and VSCode. Overall, the development experience using DSLs is brought in line with general purpose languages.
Charles et al. (Thu,) studied this question.