DiffRequestChain (@NotNull AnActionEvent e) { Project project = e.getProject(); VirtualFile selectedFile = getSelectedFile(e); VirtualFile currentFile = getEditingFile(e); assert selectedFile != null && currentFile != null; MutableDiffRequestChain chain = createMutableChainFromFiles(project, selectedFile, currentFile); DiffContent editorContent = chain.getContent2(); if (editorContent instanceof DocumentContent) { Editor editor = EditorFactory.getInstance().editors(((DocumentContent)editorContent).getDocument()).findFirst().orElse(null); if (editor != null) { int currentLine = editor.getCaretModel().getLogicalPosition().line; chain.putRequestUserData(DiffUserDataKeys.SCROLL_TO_LINE, Pair.create(Side.RIGHT, currentLine)); } } return chain; }