О конфигурации формата .clang: IncludeCategoriesC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 О конфигурации формата .clang: IncludeCategories

Сообщение Anonymous »


Я использую формат .clang в своем проекте для настройки своего стиля кодирования. Среди них я настроил параметры сортировки заголовочных файлов с помощью IncludeCategories. Конкретные правила конфигурации следующие:

Код: Выделить всё

IncludeCategories:
- Regex: '^"(?!3rd|vendor).*\.(h|hpp)"$'
Priority: 1
# This category matches project headers, such as "module.h"

- Regex: '^"(3rd|vendor).*\.(h|hpp)"$'
Priority: 2
# This category matches third-party headers, such as "3rd/module.h" or "vendor/module.hpp"

- Regex: '^'
Priority: 3
# This category matches system headers, such as 

- Regex: '^]+>$'
Priority: 4
# This category matches standard library, such as 
Я настроил 4 правила, всегда говоря, что хочу, чтобы файлы заголовков проекта располагались наверху. Файлы заголовков, открытые третьими лицами или поставщиками, являются вторыми.
Структура проекта:

Код: Выделить всё

.
├── CMakeLists.txt
├── .clang-format
├── include
│   ├── 3rd
│   │   └── constant.h
│   ├── sub
│   │   ├── sub.h
│   │   └── xx.hpp
│   └── work.h
└── src
├── main.cpp
└── work.cpp
Хотимый эффект:

Код: Выделить всё

// main.cpp
#include "sub/sub.h"
#include "work.h"

#include "3rd/util.h"

#include 

#include 

int main() {
return 0;
}
Фактический результат:

Код: Выделить всё

// main.cpp
#include "3rd/util.h"

#include 

#include 

#include "sub/sub.h" // 

Источник: [url]https://stackoverflow.com/questions/78157858/about-clang-format-config-includecategories[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»