如何在定义之间添加空行?

2024-03-06

我成功地将我的代码设置为 clang-format 格式,就像 iIwant 一样。然而,有一点让我很困扰:

我想要在结构/类/函数的定义之间以及函数的声明之间有一个空行。目前,在格式化时,clang-format 会删除空行,从而使所有内容都变得简洁。

这是我的文件:

---
AlignAfterOpenBracket: DontAlign
AlignTrailingComments: "true"
AllowAllArgumentsOnNextLine: "false"
AllowAllConstructorInitializersOnNextLine: "true"
AllowAllParametersOfDeclarationOnNextLine: "false"
AllowShortBlocksOnASingleLine: "false"
AllowShortCaseLabelsOnASingleLine: "false"
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: None
AllowShortLoopsOnASingleLine: "false"
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: "false"
AlwaysBreakTemplateDeclarations: "Yes"
BinPackArguments: "true"
BinPackParameters: "true"
BreakBeforeTernaryOperators: "false"
BreakConstructorInitializers: AfterColon
BreakInheritanceList: AfterColon
ColumnLimit: "170"
CompactNamespaces: "false"
ConstructorInitializerAllOnOneLineOrOnePerLine: "true"
IncludeBlocks: Merge
IndentCaseLabels: "true"
IndentPPDirectives: BeforeHash
IndentWidth: "4"
IndentWrappedFunctionNames: "false"
KeepEmptyLinesAtTheStartOfBlocks: "false"
Language: Cpp
MaxEmptyLinesToKeep: "0"
NamespaceIndentation: All
PointerAlignment: Left
SortIncludes: "true"
SortUsingDeclarations: "true"
SpaceAfterCStyleCast: "false"
SpaceAfterLogicalNot: "false"
SpaceAfterTemplateKeyword: "false"
SpaceBeforeAssignmentOperators: "true"
SpaceBeforeCpp11BracedList: "false"
SpaceBeforeCtorInitializerColon: "false"
SpaceBeforeInheritanceColon: "false"
SpaceBeforeParens: Never
SpaceBeforeRangeBasedForLoopColon: "false"
SpaceInEmptyParentheses: "false"
SpacesBeforeTrailingComments: "3"
SpacesInAngles: "false"
SpacesInCStyleCastParentheses: "false"
SpacesInContainerLiterals: "false"
SpacesInParentheses: "false"
SpacesInSquareBrackets: "false"
Standard: Auto
UseTab: Always
TabWidth: "4"

它看起来是这样的:

我想要两个结构之间有一个空行。


You have

MaxEmptyLinesToKeep: "0"

需要设置为1相反,以确保定义之间的多个空行不会被删除。

重要的是,该值必须是无符号类型,而不是字符串。

所以你想要的正确设置应该是

MaxEmptyLinesToKeep: 1

请注意,如果定义之间还没有至少一个空行,则这将不起作用,但从 clang-format 14 开始,您可以使用

SeparateDefinitionBlocks : Always

这将在每个定义之间添加一个空行。其他选项是Leave这不会改变任何东西,并且Never,这将删除空白行(如果有)。

我认为在以前的版本中没有可以让您执行此操作的选项。

Source: Clang 格式样式选项 https://clang.llvm.org/docs/ClangFormatStyleOptions.html.

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

如何在定义之间添加空行? 的相关文章

随机推荐

  • OSX Play 框架自动重新加载

    我已经在互联网上搜索了几个小时 有很多 有用 的建议 但只会带来问题 这就是我 几乎一模一样 在docker容器中播放框架自动加载 https stackoverflow com questions 26022395 play framew
  • Ansible - 包含来自远程主机的 vars 文件

    我想包含远程主机上文件中的变量 而不是 Ansible 运行的控制机上的变量 例如我有一个文件 var database credentials yml 在我的网络服务器上 将该文件中的变量添加到主机变量以便我可以在模板中使用它们的最佳方法
  • 如何在 Eclipse 中通过远程 Java 应用程序调试来调试 Groovy 代码

    我正在努力调试一个构建为 Sling 捆绑包的应用程序 该应用程序几乎完全是 Groovy 代码 我有 Groovy Eclipse 插件 Eclipse 使用 Maven 正在构建 jar 并将其安装在 Sling 中 没有任何问题 但是
  • 将链接放入 console.log() 中。 Node.js

    我想做这样的事情 console log Your server available at a href localhost 3000 a 但不幸的是节点控制台无法识别 a 标签 有什么想法如何将链接放入节点控制台吗 您无法让终端解释 HT
  • -不再支持webkit-text-size-adjust,如何将font-size设置为小于12px

    当我将 chrome 更新为28 0 1500 11 开发 m 我找到 webkit text size adjust none 不再支持 我在这里找到了 changlisthttp trac webkit org changeset 14
  • 与 MySQL 电话号码数据库作斗争

    我的应用程序想要存储一个列表国际电话号码在 mysql 数据库中 然后应用程序需要查询数据库并搜索特定号码 听起来很简单 但实际上是一个很大的问题 因为用户可以以不同的格式搜索该号码 所以我们每次都必须对数据库进行完整扫描 例如 我们可能将
  • 开始浏览时发送的第一个数据包

    想象一下用户坐在一台连接以太网的电脑前 他打开了浏览器 他在地址栏中输入 www google com 并按回车键 现在告诉我以太网上出现的第一个数据包是什么 我在这里找到了这个问题 Socket编程和多线程面试题 https stacko
  • 如何使用 bash 从单独的文件中粘贴列?

    使用以下数据 cat date1 csv Bob 2013 06 03T17 18 07 James 2013 06 03T17 18 07 Kevin 2013 06 03T17 18 07 cat date2 csv 2012 12 0
  • haml 中的内联标签

    在html中 你可以做这样的事情 p Lorem ipsum dolor sit amet consectetur adipiscing elit Praesent eget aliquet odio Fusce id quam eu au
  • 删除 Azure Devops (VSTS) 中的 git fork 关系

    我通过分叉另一个项目创建了一个 Azure DevOps VSTS 项目 现在 每当我们克隆新项目时 您都会在控制台输出中获得对原始项目的引用 remote This repository is a fork Learn more at h
  • 我可以使用 SVN 或 Mercurial 仅提交部分代码吗?

    我通常使用 Tortoisesvn 但我一直在研究 Mercurial 因为它是一个分布式版本控制系统 在这两个系统中 我正在寻找一种工具 可以让我仅选择文件的一部分并提交它们 如果我现在想这样做 我必须复制到文件的临时版本 并仅保留我想要
  • 内容编码需要注意的事项:gzip

    我创建了一个托管在 S3 存储桶上的静态网站 我的资源文件 css 和 js 文件 已使用 gzip 缩小和压缩 文件名本身是file gz js or file gz css并交付时带有Content Encoding gzip head
  • 用“*”替换最后 4 个字符

    我有一个字符串 我需要用 符号替换该字符串的最后 4 个字符 谁能告诉我该怎么做 一种快速而简单的方法 public static String replaceLastFour String s int length s length Ch
  • MVC EF 将帖子类型和客户类型合二为一

    我有一个类型叫blogpost具有对类型的属性虚拟引用customer public virtual Customer Customer get set 在我的表格中 我发布了blogpost and customer数据到控制器 所有值均
  • Visual C++ 2010 在调试时拒绝显示 std::string 值。显示<错误指针>

    我有一种奇怪的感觉 就像这是最近出现的问题 并且发生在两台不同的计算机上 当我调试并尝试查看 STL 中的 std string 的值时 它显示为值 它说它的大小是15 容量是一些乱码的巨大数字 数组值本身都显示 CXX0030 错误 无法
  • 如何将 Rails 中的自定义环境设置为默认环境?

    i created通过添加新文件在我的 Rails 应用程序中自定义暂存环境config environments staging rb 与 一样config environments development rb然后添加数据库配置conf
  • Android Draw 9补丁工具:图外黑线是什么意思

    我尽力在谷歌和安卓中找到这个问题 也做了几次尝试和错误 但无法得到这个问题 我正在学习 Android 的 Draw Nine Patch 图像 我知道的一个基本原则是 您处理的任何图像都必须采用 png 格式 如果它已经是 9 png 那
  • 如何反转 WPF Storyboard 动画?

    我在 Expression Blend 4 中的图像上创建了 WPF Storyboard 动画 悬停时 图像逐渐模糊 当鼠标离开图像时 有什么方法可以撤消或反转故事板吗 我可以让它触发 Storyboard Remove 但这实际上不会向
  • laravel livewire,如何通过单击将id或数据传递给另一个组件

    我有两个组件 帖子 和 帖子 帖子 显示帖子 通过单击图像我想在另一个组件中显示单击帖子的数据 下面发布类和组件 组件视图 div class post foreach posts as post div h1 post gt name h
  • 如何在定义之间添加空行?

    我成功地将我的代码设置为 clang format 格式 就像 iIwant 一样 然而 有一点让我很困扰 我想要在结构 类 函数的定义之间以及函数的声明之间有一个空行 目前 在格式化时 clang format 会删除空行 从而使所有内容