如何在IntelliJ中调用现有的IDE操作?

马尔森

我编写了一个插件,将一个组添加到“新文件”菜单,我希望我的操作启动一个特定的文件模板。据我了解,该操作称为“ NewFromTemplate”,但是我遇到了两个问题:

  1. 在这种情况下,如何调用一个已经存在的动作NewFromTemplate

  2. 由于我希望它从特定的模板创建文件,因此如何将参数传递给它。

我想出的最好的是:

ActionManager am = ActionManager.getInstance();
AnAction ftAction = am.getAction("NewFromTemplate");
ActionManager.getInstance().tryToExecute(
        ftAction, 
        ActionCommand.getInputEvent("NewFromTemplate"), 
        null, 
        ActionPlaces.UNKNOWN, 
        true);

但是它似乎没有打开任何东西-代码执行但没有打开新窗口。

马尔森

这就是我的操作方式(仅是一个使用硬编码模板名称显示所需方法的示例)

public class FooAction extends AnAction {

public void actionPerformed(AnActionEvent e) {
    FileTemplateManager fileTemplateManager = FileTemplateManager.getInstance();
    FileTemplate[] templates = fileTemplateManager.getAllTemplates();

    for(FileTemplate ft : templates){

        if(ft.getName().equals("Singleton")){
            AnAction action = new CreateFromTemplateAction(ft);
            action.actionPerformed(e);
        }


    }

}

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在IntelliJ中调用现有的IDE操作?

来自分类Dev

如何在操作中更改现有的TextView样式

来自分类Dev

如何在IntelliJ 15中导入现有的Grails 3(3.0.12)项目

来自分类Dev

如何从现有的登录会话中调用ID?

来自分类Dev

如何在 Intelli J IDE 中为我现有的 Kotlin 项目生成 build.gradle 文件

来自分类Dev

如何在现有的BIOS中实现新功能?

来自分类Dev

如何在Java中修改现有的jsonobject

来自分类Dev

如何在Switchyard中公开现有的wsdl

来自分类Dev

如何在vim中编辑现有的键映射?

来自分类Dev

如何在现有的PDF中添加注释

来自分类Dev

如何在VirtualBox中打开现有的VM?

来自分类Dev

如何在Laravel中扩展现有的外墙?

来自分类Dev

如何在Typescript中扩展现有的类

来自分类Dev

如何在hybris中获取现有的MediaContainerModel?

来自分类Dev

如何在html中覆盖现有的meta标签?

来自分类Dev

如何在C中修改现有的YAML节点?

来自分类Dev

如何在ruby中修改现有的csv列?

来自分类Dev

如何在现有的 matplotlib 中绘制新图形

来自分类Dev

如何在现有的IntelliJ的Java项目添加到混帐?

来自分类Dev

如何在 Intellij IDEA 上导入现有的 Maven + Spring MVC + Tomcat 项目?

来自分类Dev

在IDE中连接到现有的hsqldb实例

来自分类Dev

随着SBT的发展,如何使用现有的Intellij项目?

来自分类Dev

如何与现有的JS对象互操作?

来自分类Dev

如何与现有的JS对象互操作?

来自分类Dev

在新的链接中调用现有的javascript单击

来自分类Dev

如何在现有的Web应用程序中逐步淘汰密码哈希算法?

来自分类Dev

如何在bash中的循环内附加到现有的字符串变量?

来自分类Dev

如何在SQL Server中插入现有的临时表

来自分类Dev

如何在现有的Windows应用程序中获得ATL支持

Related 相关文章

  1. 1

    如何在IntelliJ中调用现有的IDE操作?

  2. 2

    如何在操作中更改现有的TextView样式

  3. 3

    如何在IntelliJ 15中导入现有的Grails 3(3.0.12)项目

  4. 4

    如何从现有的登录会话中调用ID?

  5. 5

    如何在 Intelli J IDE 中为我现有的 Kotlin 项目生成 build.gradle 文件

  6. 6

    如何在现有的BIOS中实现新功能?

  7. 7

    如何在Java中修改现有的jsonobject

  8. 8

    如何在Switchyard中公开现有的wsdl

  9. 9

    如何在vim中编辑现有的键映射?

  10. 10

    如何在现有的PDF中添加注释

  11. 11

    如何在VirtualBox中打开现有的VM?

  12. 12

    如何在Laravel中扩展现有的外墙?

  13. 13

    如何在Typescript中扩展现有的类

  14. 14

    如何在hybris中获取现有的MediaContainerModel?

  15. 15

    如何在html中覆盖现有的meta标签?

  16. 16

    如何在C中修改现有的YAML节点?

  17. 17

    如何在ruby中修改现有的csv列?

  18. 18

    如何在现有的 matplotlib 中绘制新图形

  19. 19

    如何在现有的IntelliJ的Java项目添加到混帐?

  20. 20

    如何在 Intellij IDEA 上导入现有的 Maven + Spring MVC + Tomcat 项目?

  21. 21

    在IDE中连接到现有的hsqldb实例

  22. 22

    随着SBT的发展,如何使用现有的Intellij项目?

  23. 23

    如何与现有的JS对象互操作?

  24. 24

    如何与现有的JS对象互操作?

  25. 25

    在新的链接中调用现有的javascript单击

  26. 26

    如何在现有的Web应用程序中逐步淘汰密码哈希算法?

  27. 27

    如何在bash中的循环内附加到现有的字符串变量?

  28. 28

    如何在SQL Server中插入现有的临时表

  29. 29

    如何在现有的Windows应用程序中获得ATL支持

热门标签

归档