diff --git a/contributing/development/code_style_guidelines.rst b/contributing/development/code_style_guidelines.rst
index deb2488ea62..b386da0b1cf 100644
--- a/contributing/development/code_style_guidelines.rst
+++ b/contributing/development/code_style_guidelines.rst
@@ -53,14 +53,38 @@ set up clang-format locally to check and automatically fix all your commits.
These guidelines only cover code formatting. See :ref:`doc_cpp_usage_guidelines`
for a list of language features that are permitted in pull requests.
+
Using clang-format locally
~~~~~~~~~~~~~~~~~~~~~~~~~~
-First of all, you will need to install clang-format. As of now, you need to use
-**clang-format 13** to be compatible with Godot's format. Later versions might
+You need to use **clang-format 17** to be compatible with Godot's format. Later versions might
be suitable, but previous versions may not support all used options, or format
some things differently, leading to style issues in pull requests.
+Pre-commit hook
+^^^^^^^^^^^^^^^
+
+For ease of use, we provide hooks for Git with the `pre-commit `__
+Python framework that will run clang-format automatically on all your commits with the
+correct version of clang-format.
+To set up:
+
+::
+
+ pip install pre-commit
+ pre-commit install
+
+
+You can also run the hook manually with ``pre-commit run``.
+
+.. note::
+
+ Previously, we supplied a hook in the folder ``misc/hooks``. If you copied the
+ script manually, these hooks should still work, but symlinks will be broken.
+ If you are using the new system, run ``rm .git/hooks/*`` to remove the old hooks
+ that are no longer needed.
+
+
Installation
^^^^^^^^^^^^
@@ -74,7 +98,7 @@ Here's how to install clang-format:
- macOS and Windows: You can download precompiled binaries from the
`LLVM website `__. You may need to add
the path to the binary's folder to your system's ``PATH`` environment
- variable to be able to call ``clang-format`` out of the box.
+ variable to be able to call clang-format out of the box.
You then have different possibilities to apply clang-format to your changes:
@@ -95,20 +119,6 @@ command:
you don't run clang-format on compiled objects (.o and .a files) that are
in Godot's tree. So better use ``core/*.{cpp,h}`` than ``core/*``.
-Pre-commit hook
-^^^^^^^^^^^^^^^
-
-For ease of use, we provide a pre-commit hook for Git that will run
-clang-format automatically on all your commits to check them, and let you apply
-its changes in the final commit.
-
-This "hook" is a script that can be found in ``misc/hooks``, refer to that
-folder's README.md for installation instructions.
-
-If your clang-format is not in the ``PATH``, you may have to edit the
-``pre-commit-clang-format`` to point to the correct binary for it to work.
-The hook was tested on Linux and macOS, but should also work in the Git Shell
-on Windows.
IDE plugin
^^^^^^^^^^
@@ -292,15 +302,29 @@ command:
- The path can point to several files, either one after the other or using
wildcards like in a typical Unix shell.
+
Pre-commit hook
-^^^^^^^^^^^^^^^
+~~~~~~~~~~~~~~~
+
+For ease of use, we provide hooks for Git with the `pre-commit `__
+Python framework that will run ``black`` automatically on all your commits with the
+correct version of ``black``.
+To set up:
+
+::
+
+ pip install pre-commit
+ pre-commit install
+
+
+You can also run the hook manually with ``pre-commit run``.
-For ease of use, we provide a pre-commit hook for Git that will run
-black automatically on all your commits to check them, and let you apply
-its changes in the final commit.
+.. note::
-This "hook" is a script which can be found in ``misc/hooks``. Refer to that
-folder's ``README.md`` for installation instructions.
+ Previously, we supplied a hook in the folder ``misc/hooks``. If you copied the
+ script manually, these hooks should still work, but symlinks will be broken.
+ If you are using the new system, run ``rm .git/hooks/*`` to remove the old hooks
+ that are no longer needed.
Editor integration