c++ - clang-format 主要包括以文件夹前缀排序

标签 c++ clang clang-format

我正在尝试让 clang-format 识别 foo.cpp 的主要包含内容在以下设置中:

project/my_lib
├── CMakeLists.txt
├── include
│   └── project
│       └── my_lib
│           └── foo.hpp
├── src
│   └── foo.cpp
└── tests
    └── foo_test.cpp

foo.cpp内容如下:

#include <project/another_lib/bar.hpp>
#include <project/my_lib/foo.hpp>
#include <vector>

// ...

我认为我已经确定的问题如下:clang 尝试根据文件名识别“主”包含,在本例中 foo.cpp 。当它查看#include <project/my_lib/foo.hpp>时它不会将其识别为该 cpp 文件的“主要”包含内容。我知道可以为“主包含文件”逻辑指定后缀,但这里需要的是前缀正则表达式。

关于如何让 clang 在上面的示例中将正确的包含设置为优先级 0,有什么帮助吗?

引用:Clang format options, section "IncludeCategories" and following

编辑:我正在使用clang-format集成在 Visual Studio 2019 中,这意味着我认为我无权访问命令行选项。此外,这是一个共享项目,我想摆脱默认行为。

最佳答案

就像一个快速更新,这解决了我的问题:如果包含使用常规引号 ("),则与 Visual Studio 捆绑的 clang-format 似乎会拾取“main” header 并相应地订购。

并不理想,但仍然是一个可行的解决方案。

关于c++ - clang-format 主要包括以文件夹前缀排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65305230/

相关文章:

c++ - Visual Studio C++错误读取位置

c++ - const 将公共(public)成员引用到私有(private)类成员 - 为什么它有效?

clang-format - 当 char 超过字符限制时,每个参数的 Clang 格式换行符

clang 格式缩进函数参数/参数总是带有 4 个空格

javascript - 删除 ...} 后括号缩进?

c++ - Qt 错误:发出信号 QDeclarativeEngine::quit(),但没有连接接收器来处理它

c++ - 如何在 CLI 中打印表格

使用 *(int*)NULL = 1 使线程崩溃;有问题?

c++ - 类内部类链接问题的静态constexpr

c++ - 有没有详细的Clang库API文档?