boolean (@NotNull DataContext context) { Project project = context.getData(CommonDataKeys.PROJECT); VirtualFile file = VcsContextUtil.selectedFile(context); if (project == null || file == null || file.isDirectory()) return false; AbstractVcs vcs = ChangesUtil.getVcsForFile(file, project); if (!canShowDiffForVcs(vcs)) return false; if (!AbstractVcs.fileInVcsByFileStatus(project, file)) return false; return true; }