c++ 如何配置clang-format来获取所示的UTF-8字符长度,而不是其真实的字节长度?

hgb9j2n6  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(112)

当我输入一些UTF-8字符而不是简单的ASCII时,我发现clang-format将字符的长度视为表示的字节数,而不是终端中显示的长度。
例如:
存储在3个字节中,但在vim或其他编辑器中占用2个ASCII空间。
预期的格式化代码应如下所示:

#define test   \
  /* 测试 */   \
  "aa"         \
  "bb"         \
  "bb"

但我真正得到的是如下:

#define test   \
  /* 测试 */ \
  "aa"         \
  "bb"         \
  "bb"

如何通过某种配置获得预期的结果?

xn1cxnb4

xn1cxnb41#

clang-format已经检测到UTF-8了,不需要告诉它去检测,所以你在这里处理一个bug,你应该向他们的bug跟踪者报告:
https://bugs.llvm.org/
确保你已经用最新的clang-format版本测试过了。11.0.0到现在为止。你不想报告一个已经修复的旧版本的bug。

相关问题