C++ Clang格式化器:如何完全避免重新排列/排序包含块?

4
我正在使用VS Code C/C++扩展,其中包括C++ Clang代码格式化程序/美化程序。
它很好地处理了我的C++代码格式,除了一个小问题。
它不断地对文件开头的include块进行排序/重新排列。
我尝试了他们的文档中的IncludeBlocks配置样式选项,但似乎没有选项可以不重新排列/排序include块。即使默认情况下也会发生这种情况。
有没有办法保留我的原始包含头文件的顺序?
我在VS Code的settings.json文件中的当前配置如下:
"settingsSync.ignoredSettings": [
  "-C_Cpp.clang_format_fallbackStyle"
],
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, TabWidth: 4, ColumnLimit: 0, UseTab: Always }",
"editor.formatOnSave": true,

7
我会尝试使用“SortIncludes: false”。 - R2RT
@R2RT 在这样做之后,它不知何故完全停止了格式化文档 :/ - ishiz
1
clang-format --dump-config 会给你一个配置,可以用作 .clang-format 文件的起点。其中一个显示的配置是 SortIncludes,正如 @R2RT 所提到的。你可以选择“基本样式”,例如 clang-format --style google --dump-config。查看 clang-format 帮助以了解其他可用的样式。我尝试了几种样式,在所有样式中 SortIncludes 都被设置为 true。 - darcamo
1个回答

1
// clang-format off
#include <windows.h>
#include <digitalv.h>
#include <vfw.h>
#include <joystickapi.h>
#include <mmddk.h>
#include <mmeapi.h>
#include <mmiscapi.h>
#include <mmreg.h>
#include <msacm.h>
#include <timeapi.h>
#include <wingdi.h>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接