MPS - доступ к источникам в Idea как модели MPS из плагина MPS?

Возможно ли из подключаемого модуля MPS в IDEA получить доступ (для чтения / записи) к исходному коду проекта как к исходным моделям baseLanguage (или как угодно)? Я хочу иметь возможность выполнять рефакторинг для исходного кода в IDEA на основе моделей в этом подключаемом модуле MPS.

1 ответ

В настоящее время нет возможности редактировать исходный код Java как корень MPS (в проекционном редакторе).

Но вот что можно сделать:

  • Любой исходный код Java в модуле с фасетом MPS будет загружен плагином MPS как заглушки Java, так что вы можете использовать его в коде MPS. И наоборот - вы можете напрямую использовать классы baseLannguage из исходного кода Java.
    Чтобы использовать исходный код Java в корне MPS, вам необходимо импортировать модель-заглушку (пакет с классами) либо из настроек модели (F4 для модели или пакета с моделью для каждого корня), либо с помощью функции Добавить импорт модели по корню (Ctr + R) из корня MPS редактор.
  • Существует два типа моделей: по умолчанию и per-root, где второй создает отдельный файл для каждого корня MPS. В результате вы можете смешивать корни MPS и исходные файлы Java в одном пакете.
  • Используйте действие " Преобразовать Java в MPS" для класса Java, чтобы преобразовать его в корень MPS в модели для каждого пользователя.

Надеюсь, что это поможет.

Другие вопросы по тегам