Разработка плагинов для CLion: как добавить вызов метода в существующий метод - PullRequest
1 голос
/ 13 января 2020

В настоящее время я изучаю, как писать плагины для 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();

Также является ли этот подход в целом правильным для добавления вызова метода в существующее тело метода?

...