clang-format AlignAfterOpenBracket 列表参数

2024-02-09

这个帖子 https://stackoverflow.com/questions/21966530/clang-format-always-break-if-params-dont-fit问了一个类似的问题,当参数太多时如何修改格式。

我非常喜欢 rust-fmt 的风格。有没有办法用 clang-format 做到这一点?

例如1:与AlignAfterOpenBrackets: AlwaysBreak

return_t foo(
    some_t param_1, some_t param_2, some_t param_3, 
    some_t param_4) {
    // function body
}

例如2:所需的格式

return_t foo(
    some_t param_1, 
    some_t param_2, 
    some_t param_3, 
    some_t param_4
) {
    // function body
}

clang 格式AlignAfterOpenBracket刚刚有了一个新的选择——BlockIndent(于 22 年 1 月 17 日登陆)正是这样做的。

See https://reviews.llvm.org/rG966f24e5a62a https://reviews.llvm.org/rG966f24e5a62a:

[clang-format] 为 AlignAfterOpenBracket 添加 BlockIndent 选项

此样式与“Always Break”类似,但将右括号放在新行上。

例如,如果您有一个多行参数列表,则 clang-format 当前仅支持对每个参数进行分隔,但将右括号放在最后一个参数的行上。

Function(
  param1,
  param2,
  param3);

其他代码样式工具(例如 rustfmt)支持的样式是允许将右括号放置在自己的行上,帮助用户能够快速推断代码块的边界。

Function(
  param1,
  param2,
  param3
);

该功能预计将以 clang-format-14 形式发布。
与此同时,您可以尝试从LLVM 每晚构建 https://apt.llvm.org/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

clang-format AlignAfterOpenBracket 列表参数 的相关文章

随机推荐

  • Github Actions:检查步骤状态

    我在 CI 工作中的一些步骤可能会引发错误 我不想在出现错误的每个步骤上重新启动工作流程 并希望转到检查这些步骤的最后一步并以失败的方式完成此作业 但我无法获取之前步骤的状态信息 name CI on pull request jobs m
  • 为什么圆圈在碰撞时会振动(画布)

    我一直在创建 agar io 的克隆 但我不明白为什么圆圈相互接触时会开始振动 下面是我的代码 var canvas ctx width innerWidth height innerHeight mouseX 0 mouseY 0 var
  • 您使用什么数据挖掘工具? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • TYPO3:为一个扩展设置多个存储pid

    我构建了一个扩展 它有一个 详细信息 表 其中包含包含内联到另一个对象的标题和描述的详细信息 现在新的详细信息存储在与对象相同的 pid 中 但我想更改它 这个问题 https stackoverflow com questions 151
  • 结合使用filter()和includes()来获得部分匹配

    我有一个包含我想要搜索的对象的数组 可搜索数组如下所示 value 0 label john value 1 label johnny value 2 label peter value 3 label peterson 我使用 Lodas
  • Applicative 之于 monad 就像 X 之于 comonad

    我们能解这个方程的 X 吗 Applicative 之于 monad 就像 X 之于 comonad 想了想 我觉得这其实是一个倒退的问题 有人可能会认为ComonadApply https hackage haskell org pack
  • Electron 中的自定义 HTML 对话框

    如何 或者甚至可能 在 Electron 中使用自定义 HTML 对话框 我知道 Electron 提供了某些对话框 showMessageDialog showErrorDialog 但这些似乎不允许自定义 HTML 我不想使用本机 HT
  • 时间:2019-03-17 标签:c#mvvm将视图绑定到带标题的tabcontrol

    我有一个带有主视图的 wpf 程序 Window 其中包含一个TabControl来展示几个不同的UserControl意见 子视图 每个选项卡中一个 每个视图都有一个关联的视图模型 我希望绑定TabControl这样我只需要加载一个新的s
  • 如何将所有匹配行拉入一个缓冲区?

    如何将所有匹配的行拉入缓冲区 给定一个如下文件 match 1 skip skip match 2 match 3 skip 我希望能够发出一个命令将与模式匹配的所有行 在本例中为 match 提取到单个缓冲区中 以便我可以将其放入另一个文
  • 将Class 添加到 getElementsByClassName 数组

    我需要一点帮助 因为我对 getElementsByClassName 感到沮丧 我有一个 svg 地图 其中包含带有类的路径 我现在需要列出某个类别的所有内容并添加另一个类别 现在我有 var testarray document get
  • Phonegap 2.4 Android Proguard 配置

    我已经将构建从 Phonegap Cordova 2 0 升级到 2 4 并且在开发中一切正常 直到我真正开始测试最终发布的 apk 在浪费了大量时间之后 我发现由于某种原因 现在当我运行构建时 我的 proguard 配置正在以某种方式破
  • 在Python中的嵌套字典中存储目录结构

    我正在尝试将目录结构存储在嵌套字典中 目录树 dirA dirB1 file1 txt dirB2 file2 txt templates base html report html test py 嵌套字典如下 dirs dirs dir
  • ASP.NET 启动 Web 性能分析

    我正在尝试确定 ASP NET 应用程序初始启动时间过长 恕我直言 的原因 该应用程序使用各种第三方库 以及许多我确信可以整合的参考资料 但是 我正在尝试识别 并分配责任 这些 dll 以及它们对扩展启动过程的贡献有多大 到目前为止 启动时
  • 嵌套数组上的 MongoDB $elemMatch 投影

    我有一个这样的集合 摘要 id summaryid locations id loc1 datacenters id dc1 1 clusters id cl1 1 servers
  • 如何在 AngularJS 中从 $http.get 返回图像

    在我的控制器中 我调用一个返回承诺的服务 var onComplete function data scope myImage data 在我的服务中 我通过将 url 直接传递给图像本身来调用以获取图像 return http get h
  • C++ 头文件的解析器可以使用标准 Linux 工具提取函数吗?

    有这样的事吗 我需要从头文件中提取 C 函数及其使用的所有参数 如果我能使用标准的 Linux 程序就好了 您可以使用 Understanding 4 C 这是一个前端工具 可以浏览源代码并为源代码生成指标 它还具有强大的API 允许您编写
  • 更改 Coldfusion 上附件的文件名

    我在用着cfmailparam将文件附加到电子邮件 我正在从数据库中获取文件名和路径 通常 附加文件具有唯一的名称 但我可以通过查询数据库表中的以下列来获取其原始文件名 ASSET FILE NAME 独特的名字 ASSET REAL NA
  • 浮点数学有问题吗?

    考虑以下代码 0 1 0 2 0 3 gt false 0 1 0 2 gt 0 30000000000000004 为什么会出现这些不准确的情况 Binary 浮点 https en wikipedia org wiki Double p
  • 使用 Hive 中的 Month() 获取 MM 中的月份

    Select from concat YEAR DATE SUB MAX Column name 60 MONTH DATE SUB MAX Column name 60 01 The month 仅产生single九月之前的月份数字 即一
  • clang-format AlignAfterOpenBracket 列表参数

    这个帖子 https stackoverflow com questions 21966530 clang format always break if params dont fit问了一个类似的问题 当参数太多时如何修改格式 我非常喜欢