如何在自定义框架中创建PhpStorm热键以在控制器和视图/模板之间切换

如何在自定义框架中创建PhpStorm热键以在控制器和视图/模板之间切换,phpstorm,Phpstorm,框架布局如下所示 /modules/module_name/controller_name.php /modules/module_name/templates/controller_name.php 控制器和(视图/模板)始终具有相同的名称 是否需要创建热键在两者之间切换 我创建了一个具有以下操作的插件,它运行良好 @Override public void actionPerformed(AnActionEvent e) { Project project = e.getProj

框架布局如下所示

/modules/module_name/controller_name.php
/modules/module_name/templates/controller_name.php
控制器和(视图/模板)始终具有相同的名称


是否需要创建热键在两者之间切换

我创建了一个具有以下操作的插件,它运行良好

 @Override
public void actionPerformed(AnActionEvent e) {
    Project project = e.getProject();
    VirtualFile vFile = e.getData(PlatformDataKeys.VIRTUAL_FILE);
    String fileName = vFile != null ? vFile.getName() : null;
    if(fileName == null){
        return;
    }
    String filePath = vFile.getPath();
    String fileDirectory = filePath.replace(fileName,"");

    String newPath;
    if(fileDirectory.contains(File.separator+"templates"+File.separator)){
        newPath = filePath.replace("templates"+File.separator+fileName,fileName);
    }else{
        newPath = filePath.replace(fileName,"templates"+File.separator+fileName);
    }
    VirtualFile newVFile = com.intellij.openapi.vfs.LocalFileSystem.getInstance().findFileByPath(newPath);
    if (newVFile == null) {
        return;
    }
    FileEditorManager fileEditorManager = FileEditorManager.getInstance(project);
    fileEditorManager.openFile(newVFile,true,true);
}

使用现有功能——我怀疑(不知道)。但是通过编写自定义插件(并在其中定义自定义操作),应该没有什么大问题。。除了它必须在Java中完成。谢谢,我将研究编写一个插件。太好了!很高兴它对你有用。你把插件做得很快(你以前有使用IntelliJ插件的经验吗?)。如果你还没有在他们的插件网站上列出你的插件(如果这是为了与一些公开可用的CMS/框架一起使用,这是有意义的。)或者插件是可定制的(以便用户可以调整路径))。。。考虑共享整个插件源——对于那些有相似需求的人来说是非常有用的(找到一些可以作为示例代码的工作解决方案/看看内部机制是如何工作的)