private static boolean isProjectFile(@NotNull VirtualFile file, @NotNull Project project) {
    for (NonProjectFileWritingAccessExtension each : NonProjectFileWritingAccessExtension.EP_NAME.getExtensionList(project)) {
      if (each.isWritable(file)) {
        return true;
      }
      if (each.isNotWritable(file)) {
        return false;
      }
    }

    ProjectFileIndex fileIndex = ProjectFileIndex.getInstance(project);
    if (fileIndex.isInContent(file)) return true;
    if (!Registry.is("ide.hide.excluded.files") && fileIndex.isExcluded(file) && !fileIndex.isUnderIgnored(file)) return true;

    if (project instanceof ProjectEx && !project.isDefault()) {
      if (ProjectKt.getStateStore(project).isProjectFile(file)) {
        return true;
      }

      String filePath = file.getPath();
      for (Module module : ModuleManager.getInstance(project).getModules()) {
        if (VfsUtilCore.pathEqualsTo(file, module.getModuleFilePath())) {
          return true;
        }
      }
    }
    return false;
  }
private static boolean isProjectFile(@NotNull VirtualFile file, @NotNull Project project)