boolean (@NotNull AnActionEvent e) { Project project = e.getProject(); if (project == null || project.isDisposed()) return false; VirtualFile file = e.getData(CommonDataKeys.VIRTUAL_FILE); if (file == null || file.isDirectory() || file.getFileType().isBinary()) return false; VirtualFile vcsFile = VcsUtil.resolveSymlinkIfNeeded(project, file); final AbstractVcs vcs = ProjectLevelVcsManager.getInstance(project).getVcsFor(vcsFile); if (vcs == null) return false; final AnnotationProvider annotationProvider = vcs.getAnnotationProvider(); if (annotationProvider == null) return false; FileStatus fileStatus = ChangeListManager.getInstance(project).getStatus(vcsFile); if (fileStatus == FileStatus.UNKNOWN || fileStatus == FileStatus.ADDED || fileStatus == FileStatus.IGNORED) { return false; } return true; }