微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

添加 PsiElement 而不向 PsiFile 添加文本

如何解决添加 PsiElement 而不向 PsiFile 添加文本

我正在尝试向类 (PsiClass) 添加一个方法 (PsiMethod),以便 IDEA 在键入时显示方法。我这样做了,但是我遇到了一个问题:当我将 PsiMethod 添加到 PsiClass 时,该方法的文本出现在文件中,而我不需要它。我需要添加一个方法,以便 IDEA 突出显示它,但它不会以文本形式显示文件中。

如何做到这一点?

这是我如何将 PsiMethod 添加到 PsiClass 的代码

val module = ModuleManager.getInstance(project).modules.first()
val file = FilenameIndex
        .getFilesByName(
            project,"TestPsiFile.java",module.moduleContentScope)
        .first()
val newMethod = PsiElementFactory.getInstance(project).createMethod("testMethod",PsiType.VOID)

WriteCommandAction.runWriteCommandAction(project) {
        file.children
            .filter { it.elementType == JavaElementType.CLASS }
            .map { it.add(newMethod) }
}

Jetbrains 社区中此问题的链接 link

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。