我正在尝试使用 clang-format 来识别主要包含内容foo.cpp
在以下设置中:
project/my_lib
├── CMakeLists.txt
├── include
│ └── project
│ └── my_lib
│ └── foo.hpp
├── src
│ └── foo.cpp
└── tests
└── foo_test.cpp
And 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 格式选项,“IncludeCategories”部分及后续内容 https://clang.llvm.org/docs/ClangFormatStyleOptions.html
Edit:我在用clang-format
集成在 Visual Studio 2019 中,这意味着我认为我无权访问命令行选项。此外,这是一个共享项目,我想摆脱默认行为。
就像快速更新一样,这解决了我的问题:如果包含使用常规引号 ("
)然后与 Visual Studio 捆绑在一起的 clang-format 似乎会选择“main”标头并相应地对其进行排序。
不理想,但仍然是一个可行的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)