当我使用某些类型的文件时,例如:Java文件,HTML文件或Jasmine Test文件,我可以使用Code > Generate
选项生成一些有用的代码片段,例如:
如果我使用Java文件Code > Generate
允许我插入getter,setter,constructor等
如果我使用HTML文件Code > Generate
允许我插入XML标记
如果我正在使用Jasmine Text文件Code > Generate
允许我插入测试套件或单个测试用例的脚手架
我想知道是否(以及如何)我可以添加自己的'发电机'.我知道我可以使用实时模板,但我喜欢这样的事实,它Code > Generate
为我提供了所有可用生成器的快速列表.
是的,您可以通过编写IntelliJ插件并扩展此类来实现:
com.intellij.openapi.actionSystem.Action
如果您创建了一个intelliJ插件项目(只需谷歌intellij plugin development
获取有关如何入门的信息),请在项目源代码树中的某个位置按alt-enter并选择Action
,您将看到一个对话框,允许您配置应该在哪里显示操作.
您希望将其与已存在的另一个操作相关联,例如在其下方.在您的情况下 - 看看名为的菜单组GenerateGroup (Generate)
.
在plugin.xml中以这种方式定义操作后,在沙箱中构建并运行插件.
现在,当您的操作被触发时,AnActionEvent
将触发包含您所需的所有必要信息的引用(当前项目,文件,文件中的光标位置,psi树等).
到目前为止尝试使这个工作,并回答任何具体问题.
祝好运!