Unreal Automation
Udemy курс UE/C++BoostyPatreonTelegramYoutube
  • Обзор автоматизации
  • Необходимое ПО
    • Unreal Engine
    • Visual Studio Community
    • Visual Studio Code
    • Git / Github
    • Jenkins
  • Scripts
  • Курс по автоматизации и тестированию на Youtube
    • Лекция 30
    • Лекция 31
    • Лекция 32
    • Лекция 33
    • Лекция 34
    • Лекция 35
    • Лекция 36
    • Лекция 37
    • Лекция 38
  • Автоматизация проекта UE
    • Минимальные настройки проекта
    • Generate project files
    • Clean intemediates
    • Automation Tool
    • Этапы сборки игры
    • Сборка игры
    • Modules / Targets
    • Сборка клиента / сервера
      • Targets
      • Client
      • Dedicated server
      • Client + server
      • Listen server
      • Запуск
    • Cook
      • Game
      • Client
      • Server
    • Генерация локализации
  • Автоматизация исходников UE
    • Доступ к исходникам
    • Сборка движка из исходников
    • Сборка бинарной версии - Installed build
  • Jenkins
    • Jenkins pipelines
    • Графики, таймеры
    • Интеграция Slack
  • Теория тестирования игр
  • Тестирование в UE
  • Разное
    • Как создать bat файл
    • .gitignore
    • .clang-format
    • Справка по командам Windows
    • Как установить переменную среды в Windows
      • Проверяем clang-format
      • Проверяем git
  • VPN
  • мои курсы
    • 🎮Unreal Engine — полное руководство по разработке на С++
    • 🐍Snake game
    • 🕹️Game Engine. hardCORE series
    • 🎙️Metasounds
    • 🧠OpenAI
    • 🏗️Design patterns
  • 🔗Сообщество
    • Ресурсы
    • Поддержать проект
    • Проекты участников сообщества
    • Code review участников сообщества
Powered by GitBook
On this page
  1. Разное

.clang-format

Previous.gitignoreNextСправка по командам Windows

Last updated 3 years ago

— описывает правила форматирования кода с помощью . Поддерживается большинством современных . 90% проблем форматирования решается c помощью.clang-format

BasedOnStyle: Microsoft
IndentWidth: 4
UseTab: Never
TabWidth: 4
BreakBeforeBraces: Allman
ColumnLimit: 140
AccessModifierOffset: -4
SortIncludes: false
AllowShortBlocksOnASingleLine: false
AlignAfterOpenBracket: DontAlign
AllowShortFunctionsOnASingleLine: Inline
PointerAlignment: Left
AllowShortIfStatementsOnASingleLine: true
SpacesBeforeTrailingComments: 2
AllowShortCaseLabelsOnASingleLine: true
IndentCaseLabels: true
AlwaysBreakTemplateDeclarations: Yes

Для оставшихся 10% проблем необходимо иметь документ по стандартам кодирования.

Хороший пример для этого .

format_all_files.bat

который будет вызывать .clang-format и форматировать все кодовые файлы проекта, с содержимым:

@echo off

set ProjectRoot=C:\_Projects\_Jenkins\TPS
set SourceCodePath=%ProjectRoot%\Source

FOR /R "%SourceCodePath%" %%f IN (*.cpp, *.h, *.cs) DO (
    clang-format -i "%%f"
    echo %%f
)
PAUSE

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

Подробнее в видео уроке

Unreal Engine также имеет на эту тему, но это всего лишь статья, полноценным документом это назвать нельзя. В любом случае там полезная информация, рекомендую с ней ознакомиться.

Автоформатирование также можно настроить при коммите в репозиторий с помощью pre-commit .git hook. Об этом рассказывается в видео ниже ().

Рекомендую для форматирования использовать или создать собственный bat файл, в корне проекта:

Перед этим необходимо путь до .clang-format , либо использовать полный путь до файла. Исполняемый файл .clang-format устанавливается вместе с VS и находится в директории:

.clang-format
YAML
IDE
Google C++ Style Guide
статью в документации
справка по git hooks
плагины VS
добавить в переменную среды PATH