Позвоните Scala Intellij Refre sh Действие Из какого-то другого плагина - PullRequest
2 голосов
/ 16 апреля 2020

Требуется вызвать Scala действие плагина sbt ( Refre sh Action ) и intelliJ синхронизировать все действия из пользовательского плагина. Как описано здесь , мы можем использовать приведенный ниже синтаксис для вызова действий других плагинов из нашего пользовательского плагина: -

ActionManager.getInstance().getAction(IdeActions.ACTION_COPY_REFERENCE);

Есть ли способ выяснить имя действия и идентификаторы для функций, которые на скриншоте ниже выделены красными блоками: -

enter image description here

1 Ответ

1 голос
/ 17 апреля 2020

Действие com.intellij.openapi.externalSystem.action.RefreshAllExternalProjectsAction с идентификатором ExternalSystem.RefreshAllProjects (см. ExternalSystemActions.xml)

Чтобы запустить проект повторно sh программным способом, вам не нужно вызывать действие. Вы можете использовать com.intellij.openapi.externalSystem.util.ExternalSystemUtil#refreshProjects

В IntelliJ IDEA 2020.1 вы также можете использовать экспериментальный com.intellij.openapi.externalSystem.autoimport.ExternalSystemProjectTracker API через AutoImportProjectTracker.getInstance(???).scheduleProjectRefresh()

...