我正在开发一个插件,它会在打开的类的内部和外部生成代码。
我扩展了GenerateMembersHandlerBase
类来生成类的成员 - 它工作得很好。
现在我需要生成一个完整的类(新的源文件),它将放在我正在处理的类之外。
问题:我找不到任何允许我创建新的java源文件的API。请提示我API,或者提示我IntelliJ IDEA source code中实现此类事情的地方。
更多背景信息:假设我们有com.mycompany.User
课程。我正在实现一个插件,它将使用下一种格式生成一个构造函数:
public User(UserInfo info) {
//...
}
需要在航班上生成UserInfo
课程。
所以在代码生成之后,我应该在类User
中有一个构造函数,并为com.mycompany.UserInfo
分隔源文件。
答案 0 :(得分:2)
您可以使用dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(60 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//do code stuff here
});
方法创建新的虚拟文件。
可以在NewFileAction.createNewFile()方法中找到IDEA本身如何创建文件的示例。
它正在调用调用上述VirtualFile.createChildData()
方法的FileSystemTreeImpl.createNewFile()方法。