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

ish*_*hiz 5 c++ formatting clang visual-studio-code

我正在使用 VS Code C/C++ 扩展,其中包括 C++ Clang 代码格式化程序/美化程序。
除了一个小问题之外,它按照我想要的方式格式化我的 C++ 代码,效果非常好。
它不断在文件开头对我的包含块进行排序/重新排列。

我尝试了他们文档IncludeBlocks中的配置样式选项,但似乎没有一个选项可以不重新排列/排序包含块。即使默认情况下也会发生这种情况。有没有办法保留包含标题的原始顺序?

我当前的settings.jsonVS Code 文件内配置如下所示:

"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,
Run Code Online (Sandbox Code Playgroud)

小智 2

// 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>
Run Code Online (Sandbox Code Playgroud)