【问题标题】:How to clang-format this style of function definition如何格式化这种风格的函数定义
【发布时间】:2018-02-14 19:25:50
【问题描述】:

我想将我的 C 代码格式化为特定样式的函数定义,如下所示:

foo.c(其中“Arg”是一种类型/结构)

示例 1:

void *
foo(
    const Arg *arg1 /**< my arg */
)
{
...
}

示例2

void *
foo(
    const Arg *arg1, /**< my arg */
    const Arg *arg2  /**< my arg2 */
)
{
...
}
  1. 返回类型后中断 (AlwaysBreakAfterDefinitionReturnType) - 这有效
  2. 在函数名+打开括号后中断
  3. 每个参数都换行,缩进
  4. 新行上的右括号,未缩进

我尝试了很多参数组合,但都没有成功...有什么提示吗?

【问题讨论】:

  • 什么是Arg,为什么你的第二个例子有两个同名的参数arg1,你的“函数声明风格”是什么意思?
  • 为什么投反对票?这是一个关于如何使用工具来实现特定结果并正确标记的非常明智的问题。
  • @LeeDanielCrocker 实际上很难理解。问题的重要部分是在标题中,而不是在正文中。起初我投票决定关闭,但我花了一些时间才收回它......
  • @StephanLechner,已编辑以添加说明。 Arg 只是一种类型。风格我的意思是我想格式化我的代码以匹配函数声明的这种特定代码风格。让我知道是否清楚。
  • @EugeneSh。编辑帖子以使其更清晰,这有帮助吗?如果需要更多信息,请告诉我。

标签: c clang clang-format


【解决方案1】:

我不知道如何使用 clang-format 做到这一点,但 indent 可以非常接近:

indent -i4 -cd24 -blf -bfda file.c

(除了那个结束括号——不知道该怎么做)。

【讨论】:

  • 感谢回复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多