Intellij IDEA插件开发。 行动“创建kotlin类”
我想为Intellij Idea创建一个插件。 我需要添加一个动作( AnAction
),它将在自定义package
Kotlin (不是Java)上创建一个class
。 我有两个quastion:
- 如何创建具有所需扩展名的文件?
- 或者如何在自定义
package
使用kotlinclass
(从一些基类)创建文件?
一种可能的方法是使用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 //(ie if you post "com.some.package" - it does not create com/some/package folder) PsiDirectory newDirectory = psiDirectory.createSubdirectory(someDirectoryName);
- 如何在IntelliJ插件中执行Kotlin代码?
- Kotlin VerifyError:后向分支90上存在未初始化的对象
- 当前选择的Java调试器不支持“Kotlin Line Breakpoints”类型的断点
- Dagger2错误:Kotlin:未解决的参考:DaggerSOMETHINGComponent
- 运行在Kotlin中编写的Apache Tomcat servlet时出错
- 如何用IntelliJ模仿C ++风格的“自动”式演绎?
- Intellij忽略.kt文件在没有'package ..'语句的包结构下? 为什么?
- 从命令行运行Java到Kotlin转换器?
- IntelliJ的想法,一次测试多个模块,只有一个模块的文物都包括在内