为什么叮当格式在 getter 的大括号之前不会中断?
Why doesn't clang-format break before braces of getter?
相关文章的答案是如何使clang格式在函数的大括号前添加新行?没有帮助。
我在Windows上的Eclipse CDT中使用了带有Cppstyle的clang格式9.0.0。clang格式格式化如下getter:
int returnNumber() { return 3; }
但是我更喜欢格式
int returnNumber()
{
return 3;
}
我无法使clang格式做到这一点,无论是使用破坏样式BS_Allman
还是使用自定义样式。除了手动格式化,还有其他解决方案吗?
我的示例源文件如下:
收割台.h
#pragma once
namespace Test
{
class MyClass
{
public:
int returnNumber() { return 3; }
};
} /* namespace Test */
我的配置文件如下:
Language: Cpp
AlwaysBreakTemplateDeclarations: 'true'
BreakBeforeBraces: Allman
ColumnLimit: '80'
IndentWidth: '2'
NamespaceIndentation: None
Standard: Cpp11
TabWidth: '2'
UseTab: Always
PointerAlignment: Left
AlignAfterOpenBracket: DontAlign
BreakConstructorInitializers: AfterColon
MaxEmptyLinesToKeep: 2
配置的问题是您错过了这个用短函数控制clang-format
行为的选项。
将此添加到您的配置中,一切都会很好:
AllowShortFunctionsOnASingleLine: None
引用clang格式文档:
AllowShortFunctionsOnSingleLine(ShortFunctionStyle(
根据值的不同,
int f() { return 0; }
可以放在一行上。可能值:
SFS_None
(配置中:无(从不将函数合并到一行中。
SFS_InlineOnly
(配置中:InlineOnly(仅合并类内部定义的函数。与"内联"相同,只是它没有暗示"空":即顶层空函数也不合并。
SFS_Empty
(配置中:空(仅合并空函数。
SFS_Inline
(在配置中:内联(仅合并类内部定义的函数。意味着"空"。
SFS_All
(配置中:全部(合并所有适合一行的函数。
相关文章:
- 如何在openssl-ecc中获取十六进制格式的私钥
- 将"打开的CV图像"中的"颜色"转换为整数格式
- TDateTime格式在C++Builder中不会更改
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 检查不带转换的扫描格式
- 当我尝试使用 sstream 和分面将 Boost Time_duration转换为字符串时,我没有得到所需的格式
- 是否可以从格式字符串中检索"width"
- clang格式:宏的缩进
- clang格式:禁用排序包含
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 将RGB图像保存为PPM格式
- 询问在设计我的手臂模拟器功能表示格式1
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 带有Protobuf序列化的C++Hazelcast:字符串不是UTF-8格式的
- 如何将strftime中的格式错误作为异常捕获
- 将CHW格式的浮点向量转换为cv::Mat
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- 为什么叮当格式在 getter 的大括号之前不会中断?
- 中断长代码 snprintf 格式和参数
- clang格式:在 lambda 函数和外部块的大括号之前中断