clang-format有很多关于空格的配置选项,也有一些关于代码顺序(包含的顺序)的配置选项。是否可以重新排序常量限定符,以便将它们放置在相应类型的右侧?示例:声明const int x = 0;应格式化为int const x = 0;。
clang-format
const int x = 0;
int const x = 0;
cyej8jka1#
从clang-format版本14开始,可以使用值为Right的QualifierAlignment选项。(有关替代值,请参阅https://clang.llvm.org/docs/ClangFormatStyleOptions.html)在配置文件中设置以下内容:
Right
QualifierAlignment
QualifierAlignment: Right
警告:将QualifierAlignment设置为Leave以外得值,可能会导致错误得代码格式设置,这是由于clang-formats缺少完整得语义信息而导致得错误决策.因此,在查看使用此选项所做得代码更改时应格外小心.
Leave
遗憾的是,documentation不提供此功能。
vecaoik12#
这个功能现在似乎正在酝酿中:https://reviews.llvm.org/D69764
toiithl63#
从版本14.0开始,clang-format提供了QualifierAlignment选项,该选项可以采用以下值:第一个是第二个是第三个,第四个是第四个。OP的请求因此可以通过
clang-format -style="{QualifierAlignment: Right}" <file-name>
文档可在here中找到编辑:有关QualifierAlignment值的更多信息
当Custom用作QualifierAlignment的值时,使用clang-format选项QualifierOrder的顺序。这两个选项必须一起使用,如下所示:
Custom
QualifierOrder
clang-format -style="{QualifierOrder: ['inline', 'static', 'type', 'const'], QualifierAlignment: Custom}" <file-name>
编辑2:似乎不需要QAS_Right、QAS_Left等的前缀“QAS”。
3条答案
按热度按时间cyej8jka1#
编辑:
clang-format
版本14之后从
clang-format
版本14开始,可以使用值为Right
的QualifierAlignment
选项。(有关替代值,请参阅https://clang.llvm.org/docs/ClangFormatStyleOptions.html)在配置文件中设置以下内容:
警告:
将
QualifierAlignment
设置为Leave
以外得值,可能会导致错误得代码格式设置,这是由于clang-formats缺少完整得语义信息而导致得错误决策.因此,在查看使用此选项所做得代码更改时应格外小心.clang-format
版本14之前遗憾的是,documentation不提供此功能。
vecaoik12#
这个功能现在似乎正在酝酿中:https://reviews.llvm.org/D69764
toiithl63#
从版本14.0开始,clang-format提供了
QualifierAlignment
选项,该选项可以采用以下值:第一个是第二个是第三个,第四个是第四个。OP的请求因此可以通过
文档可在here中找到
编辑:有关
QualifierAlignment
值的更多信息当
Custom
用作QualifierAlignment
的值时,使用clang-format选项QualifierOrder
的顺序。这两个选项必须一起使用,如下所示:编辑2:似乎不需要QAS_Right、QAS_Left等的前缀“QAS”。