В настоящее время я изучаю, как писать плагины для IDE IntelliJ. Я особенно заинтересован в написании плагинов для CLion. Я пытаюсь найти способ, как добавить вызов метода в начало тела существующего метода. Я уже нашел способ получить определения функций в файле.
psiFile.accept(new PsiRecursiveElementWalkingVisitor(){
@Override
public void visitElement(PsiElement element) {
super.visitElement(element);
//OCFunctionDefinition test = new OCFunctionDefinition();
if(element instanceof OCFunctionDefinition){
infoBuilder.append(element.getText()).append("\n");
element.add(elementAtCarret);
}
}
});
Я прочитал в документации, что я могу создавать новые PsiFiles через PsiFileFactory. Для Java я мог бы получить Фабрику с:
PsiElementFactory factory = JavaPsiFacade.getInstance(project).getElementFactory();
Есть ли также фабрика для c ++? Что-то вроде:
PsiElementFactory factory = OcPsiFacade.getInstance(project).getElementFactory();
Также является ли этот подход в целом правильным для добавления вызова метода в существующее тело метода?