Recently, I am begin the plugin development. I come across lots of problems during the development. Some reasons are I am fresh to plugin development. I do want to give some suggestion from my perspective.
## the official api document is too simple
For example, I want to create a file by plugin. There are some words in the document:
How do I create a PSI file?
createFileFromText() method creates an in-memory PSI file with the specified contents.
To save the PSI file to disk, use the
But there are no detailed steps to describe how to create a file. So what I can do is to search the code inside Github and find the related implementaion. It's really a painful process. If the offical document could provide the detailed steps like this:
var psiFileFactory = PsiFileFactory.getInstance(project)
var curTime = Instant.now()
val createFileFromText = psiFileFactory.createFileFromText("sca-$curTime.md", result)
var directory = modFile.containingDirectory
It would be much more useful.
## The template is too complex
I create the plugin by the template from https://github.com/JetBrains/intellij-platform-plugin-template. With no doubt, the template is very pwerful. But it's complex in the meanwhile. There are so may steps and contents in the project. It's really unfriendly to a new guy. And I belive as a template project, simplicity is very important. So some unnecessary steps should be removed.