Я пытаюсь создать плагин IntelliJ (в основном для обучения). Моя цель состоит в том, что, нажимая комбинацию клавиш, плагин будет генерировать соответствующий тестовый метод тестирования модуля PHP в тестовом файле.Плагин: Как вставить новый метод в существующий класс PHP?
Скажем, Db.php
открыт, после нажатия Ctrl+Shift+U
плагин создаст единичный тестовый заглушка в DbTest.php
.
До сих пор я понял, как получить имя метода под курсором и как найти тестовый файл соответствующего блока (т.е. Db
=>DbTest
) в PsiFile
.
PsiFile[] search = FilenameIndex.getFilesByName(project, testFileName, scope); //scope is the test directory
PsiFile testFile = search[0];
То, что я не могу понять, как вставить генерироваться новый метод окурок это в testFile
, а затем сохранить изменения?
P.S. Я вижу, существует функция createMethodFromText
, но как мне получить PsiClass от PsiFile? Также как сохранить изменения?