void (@NotNull AnActionEvent e) { final VirtualFile virtualFile = e.getData(CommonDataKeys.VIRTUAL_FILE); LOG.assertTrue(virtualFile != null); final String path = virtualFile.getPath(); final Project project = getEventProject(e); final SceneBuilderInfo info = SceneBuilderInfo.get(project, true); if (info == SceneBuilderInfo.EMPTY) { return; } String pathToSceneBuilder = info.path; if (SystemInfo.isMac) { pathToSceneBuilder += "/Contents/MacOS/"; if (new File(pathToSceneBuilder, OLD_LAUNCHER).exists()) { pathToSceneBuilder += OLD_LAUNCHER; } else { pathToSceneBuilder += "SceneBuilder"; } } final GeneralCommandLine commandLine = new GeneralCommandLine(); try { commandLine.setExePath(FileUtil.toSystemDependentName(pathToSceneBuilder)); commandLine.addParameter(path); commandLine.createProcess(); } catch (Throwable ex) { Messages.showErrorDialog(JavaFXBundle.message("javafx.failed.to.start.scene.builder.error", commandLine.getCommandLineString()), CommonBundle.getErrorTitle()); } }