Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IntelliJ插件开发:如何生成新的源文件_Java_Intellij Idea_Jetbrains Ide_Intellij Plugin - Fatal编程技术网

Java IntelliJ插件开发:如何生成新的源文件

Java IntelliJ插件开发:如何生成新的源文件,java,intellij-idea,jetbrains-ide,intellij-plugin,Java,Intellij Idea,Jetbrains Ide,Intellij Plugin,我正在开发一个插件,它将在打开的类内部和外部生成代码 我扩展了GenerateMembersHandlerBase类来生成类的成员——它工作得非常好 现在我需要生成一个完整的类(新的源文件),它将被放置在我正在处理的类之外 问题:我找不到任何允许我创建新java源文件的API。请告诉我API,或者告诉我在哪里实现了这样的东西 更多上下文:假设我们有com.mycompany.User类。我正在实现一个插件,该插件将使用下一种格式为其生成构造函数: public User(UserInfo inf

我正在开发一个插件,它将在打开的类内部和外部生成代码

我扩展了
GenerateMembersHandlerBase
类来生成类的成员——它工作得非常好

现在我需要生成一个完整的类(新的源文件),它将被放置在我正在处理的类之外

问题:我找不到任何允许我创建新java源文件的API。请告诉我API,或者告诉我在哪里实现了这样的东西

更多上下文:假设我们有
com.mycompany.User
类。我正在实现一个插件,该插件将使用下一种格式为其生成构造函数:

public User(UserInfo info) {
    //...
}
需要在航班上生成
UserInfo
类。
因此,在代码生成之后,我应该在类
User
中有一个构造函数,并为
com.mycompany.UserInfo

创建一个单独的源文件。您可以使用
VirtualFile.createChildData()
方法创建一个新的虚拟文件

IDEA本身如何创建文件的示例可以在方法中找到

它正在调用调用前面提到的
createChildData()
方法的方法