添加定制代码生成器

时间:2013-09-04 09:06:45

标签: intellij-idea webstorm intellij-plugin

当我使用某些类型的文件时,例如:Java文件,HTML文件或Jasmine Test文件,我可以使用Code > Generate选项生成一些有用的代码片段,例如:

  • 如果我使用Java文件Code > Generate允许我插入getter,setter,constructor等
  • 如果我使用HTML文件Code > Generate允许我插入XML标记
  • 如果我正在使用Jasmine文本文件Code > Generate允许我插入测试套装或单个测试用例的脚手架

我想知道是否(以及如何)我可以添加自己的'发电机'。我知道我可以使用实时模板,但我喜欢Code > Generate为我提供所有可用生成器的快速列表这一事实。

1 个答案:

答案 0 :(得分:9)

是的,您可以通过编写IntelliJ插件并扩展此类来实现:

com.intellij.openapi.actionSystem.Action

如果您创建了一个intelliJ插件项目(只需谷歌intellij plugin development以获取有关如何入门的信息),请点击alt-enter项目源代码树中的某个位置并选择Action,您将获得一个对话框它允许您配置您的操作应该出现的位置。

您希望将其与已存在的其他操作相关联,例如在其下方。在您的情况下 - 查看名为GenerateGroup (Generate)的菜单组。

在plugin.xml中以这种方式定义操作后,在沙箱中构建并运行插件。

现在,当您的操作被触发时,AnActionEvent将被触发,其中包含对您需要的所有必要信息的引用(当前项目,文件,文件中的光标位置,psi树等)。

尝试将此工作推向目前为止,并回答任何具体问题。

祝你好运!