什么 clang-format 相当于 rustfmt 的 indent_style=Block?
What's clang-format's equivalent to rustfmt's indent_style=Block?
如果 clang 格式是 rustfmt,它将具有这个包罗万象的 indent_style 配置选项,它指的是缩进样式的这个基本区别:
视觉对象(默认为叮当格式(:
ReturnType<std::vector<int>> ClassName::functionName(int a,
bool b,
float c,
double d,
long double complex e);
static const char* names[] = {"a",
"b",
"c"};
块(在 rustfmt 中默认(:
ReturnType<std::vector<int>> ClassName::functionName(
int a,
bool b,
float c,
double d,
long double complex e);
static const char* names[] = {
"a",
"b",
"c",
};
如何配置 clang 格式以在所有语法作用域中执行块缩进?
或者是否有任何C++格式化程序支持块缩进?
默认样式设置为Microsoft样式(在打开的括号处对齐(。使用设置为Google
BasedOnStyle
获取块缩进:
BasedOnStyle: Google
Uncrustify 可以做到这一点,至少就您能为C++必须提供的每个可以想象的语法范围找到相应的选项而言——我没有看到任何整体选项。
首先:
nl_func_def_start_multi_line = true
nl_func_decl_start_multi_line = true
nl_func_call_start_multi_line = true
nl_after_brace_open=true
nl_type_brace_init_lst_open = true
nl_enum_own_lines = add
nl_constr_init_args = add
pos_constr_colon = lead_break
pos_constr_comma = lead_break
-
可以配置的内容:
(涵盖函数、ctor 初始化列表和枚举,但不包括列表(
AlignAfterOpenBracket: AlwaysBreak BreakConstructorInitializers: BeforeComma BinPackArguments: 'false' BinPackParameters: 'false'
BinPack* 选项并非严格用于块缩进, 但是要像问题显示的那样,将一个或所有项目放在同一行上。
-
对于列表,clang-format 使用块缩进(使用后缀逗号(和使用中缀逗号的可视缩进:
static const char* postfixCommaDelimited[] = { "a", "b", "c", }; static const char* infixCommaDelimited[] = {"a", "b", "c"};
我认为如果所有中缀逗号分隔的列表都是单行,这是有道理的, 但我希望 clang 格式可以做点什么 多行列表。 Rustfmt 将它们重写为后缀逗号,我也希望在C++中这样做。
相关文章:
- 更改"child's parent's style sheet"时如何将孩子的样式表重置为 Qt 默认样式表?
- 为什么 std::shared_ptr 被认为是"heavy"和"expensive",但 std::array "same perfprmance as plain (c-style) arrays
- 为什么我需要在以下示例中在 block_cache.h 之前包含 block_cache_key.h 和 block.h
- 什么 clang-format 相当于 rustfmt 的 indent_style=Block?
- 如何定义此"if block"中其他无效输入的值,以便在c ++中将字符串转换为对象?
- de if-Block 是什么意思
- C++:"Expected '(' for function-style cast or type construction"错误
- Eigen::MatrixXd.block assignment using a std::vector
- base64 decode with openssl BIO block by block
- 在 iOS 上使用 Aruco 构建 OpenCV 时"Functional-style cast from id to double is not allowed"
- 为什么TensorFlow推荐"functional style for constructing operations"?
- C++错误,隐 <function-style-cast> 式要求使用模板化类一次调用多个构造函数的多个转换
- 如何修复<function-style-cast>错误:无法从'initializer list'转换为asdending比较<W>(模板函子)
- "Do not change a loop variable inside a for loop block"的意义是什么?
- Metis - Block output
- 将 .block() 与复矩阵 eigen lib 一起使用
- 使用block()在分配中使用block()缩小矩阵
- 如何运行由 Code::Block 创建的控制台应用程序
- 如何从特征矩阵中获取不连续的数据"block"?
- Visual Studio C++ "Automatically format completed block on }"