Result (@NotNull String line, int entireLength) { if (line.startsWith(CONSOLE_OUTPUT_FILE_MESSAGE)) { final String filePath = StringUtil.trimEnd(line.substring(CONSOLE_OUTPUT_FILE_MESSAGE.length()), "\n"); return new Result(entireLength - filePath.length() - 1, entireLength, new HyperlinkInfo() { @Override public void navigate(@NotNull Project project) { final VirtualFile file = WriteAction .compute(() -> LocalFileSystem.getInstance().refreshAndFindFileByPath(FileUtil.toSystemIndependentName(filePath))); if (file != null) { file.refresh(false, false); ApplicationManager.getApplication().runReadAction(() -> { FileEditorManager.getInstance(project).openTextEditor(new OpenFileDescriptor(project, file), true); }); } } }); } return null; }