Java 如何在IntelliJ中调用现有的IDE操作?
我已经编写了一个插件,在“新建文件”菜单中添加了一个组,我希望我的操作能够启动一个特定的文件模板。据我所知,该操作称为“NewFromTemplate”,但我遇到了两个问题:Java 如何在IntelliJ中调用现有的IDE操作?,java,plugins,intellij-idea,Java,Plugins,Intellij Idea,我已经编写了一个插件,在“新建文件”菜单中添加了一个组,我希望我的操作能够启动一个特定的文件模板。据我所知,该操作称为“NewFromTemplate”,但我遇到了两个问题: 如何调用已经存在的操作,在本例中是NewFromTemplate 如何向它传递参数,因为我希望它从特定模板创建文件 我想到的最好的办法是: ActionManager am = ActionManager.getInstance(); AnAction ftAction = am.getAction("NewFromTem
NewFromTemplate
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);
}
}
}