繁体   English   中英

Intellij IDEA插件开发。 行动“创建科特琳课”

[英]Intellij IDEA plugin development. Action “create kotlin class”

我想为Intellij IDEA创建一个插件。 我需要添加一个动作( AnAction ),该动作将在Kotlin (不是Java)的自定义package创建一个class 我有两个问题:

  • 如何创建具有所需扩展名的文件?
  • 或者如何在自定义package使用Kotlin class (来自某些基类)创建文件?

实现此目的的一种可能方法是使用PsiFileFactory.createFileFromText()创建内存中的Kotlin文件,然后将该文件作为参数传递给PsiDirectory.add()以将其保存到文件系统。

尽管yole的回答是正确的,但我想了解有关PsiDirectory类的更多详细信息。

//get directory by VirtualFile
PsiDirectory directory = PsiManager.getInstance(project).findDirectory((getKotlinSourceDir(project))

获取Kotlin源目录:

private VirtualFile getKotlinSourceDir(Project project) {
    return project.getBaseDir().findChild("src").findChild("main").findChild("kotlin");
}

然后,您可以创建子目录:

//someDirectoryName it is simple name 
//(i.e if you post "com.some.package" - it does not create com/some/package folder)
PsiDirectory newDirectory = psiDirectory.createSubdirectory(someDirectoryName);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM