VirtualFile (@NotNull VirtualFile outputDir, @NotNull File outputFile, @NotNull Project project, @NotNull CodeStyleSettings settings, boolean isRoot, boolean commentOutProperties, @NotNull List<Language> languages, EditorConfigPropertyKind @NotNull ... propertyKinds) { try { VirtualFile target = outputDir.createChildData(this, outputFile.getName()); try (EditorConfigSettingsWriter settingsWriter = new EditorConfigSettingsWriter(project, target.getOutputStream(this), settings, isRoot, commentOutProperties) .forLanguages(languages) .forPropertyKinds(propertyKinds)) { settingsWriter.writeSettings(); return target; } } catch (Exception e) { notifyFailed(e); return null; } }