> For the complete documentation index, see [llms.txt](https://lifeexe-art.gitbook.io/unreal-engine-c-course/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lifeexe-art.gitbook.io/unreal-engine-c-course/automation/formatirovanie-koda.md).

# Форматирование кода

## .clang-format

Для автоматического форматирования файлов проекта в корне репозиториев находится файл **format\_all\_files.bat**

По сути он вызывает **.clang-format** для всех файлов проекта:

```bash
@echo off
CD Source
FOR /R %%f IN (*.cpp, *.h, *.cs) DO (
    clang-format -i %%f
    echo %%f
)

```

Для того чтобы скрипт работал корректно, вам необходимо добавить путь до **clang-format** в переменную среды **PATH.** Программа находится в директории **Visual Studio.** 99% что у вас такой же путь:

`c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\bin\`

## Как установить переменную среды

В поиске Windows вводим **environment** и открываем **System Properties**:

![](/files/-MayHD_v1utfOpIsVu-x)

Кликаем на **Environment Variables:**

![](/files/-MayHLINXOXEeyKRlomE)

Выбираем **Path** и нажимаем на **Edit:**

![](/files/-MayHZvJo8TxsdB7YyJ8)

Вставляем путь до **clang-format** в список, нажимаем на **OK:**

![](/files/-MayHidnIJqADOQcy5ax)

Проверить, что все ок можно в командной строке, с помощью одной из команд:

```bash
clang-format -version

where clang-format
```

Вывод должен быть следующий:

![](/files/-MayKV5eSlUhChjYVeZH)

После этого можно пользоваться скриптом **format\_all\_files.bat**

## **Плагины форматирования кода для Visual Studio**

* [Плагин VS для форматирования всех файлов](https://marketplace.visualstudio.com/items?itemName=munyabe.FormatAllFiles)
* [Плагин VS для форматирования при сохранении файла](https://marketplace.visualstudio.com/items?itemName=mynkow.FormatdocumentonSave)

## Дополнительно на эту тему можно посмотреть видео-урок

{% embed url="<https://youtu.be/3z_eNJckOig>" %}
