From 14dee6e4b0f6fc483c2024527d6cf08615b6bfef Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Wed, 11 Sep 2024 12:23:58 +0300 Subject: [PATCH] [Editor] Add .editorconfig to the projects. --- editor/editor_paths.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/editor/editor_paths.cpp b/editor/editor_paths.cpp index 7f24e8fd2e4..ff869f8a8a1 100644 --- a/editor/editor_paths.cpp +++ b/editor/editor_paths.cpp @@ -245,7 +245,7 @@ EditorPaths::EditorPaths() { } } - // Check that the project data directory '.gdignore' file exists + // Check that the project data directory `.gdignore` file exists. String project_data_gdignore_file_path = project_data_dir.path_join(".gdignore"); if (!FileAccess::exists(project_data_gdignore_file_path)) { // Add an empty .gdignore file to avoid scan. @@ -253,10 +253,26 @@ EditorPaths::EditorPaths() { if (f.is_valid()) { f->store_line(""); } else { - ERR_PRINT("Failed to create file " + project_data_gdignore_file_path); + ERR_PRINT("Failed to create file " + project_data_gdignore_file_path.quote() + "."); } } + // Check that `.editorconfig` file exists. + String project_editorconfig_path = "res://.editorconfig"; + if (!FileAccess::exists(project_editorconfig_path)) { + Ref f = FileAccess::open(project_editorconfig_path, FileAccess::WRITE); + if (f.is_valid()) { + f->store_line("root = true"); + f->store_line(""); + f->store_line("[*]"); + f->store_line("charset = utf-8"); + f->close(); + } else { + ERR_PRINT("Failed to create file " + project_editorconfig_path.quote() + "."); + } + FileAccess::set_hidden_attribute(project_editorconfig_path, true); + } + Engine::get_singleton()->set_shader_cache_path(project_data_dir); // Editor metadata dir.