clang-format 相关问题

clang-format是一种格式化C / C ++ / Java / JavaScript / Objective-C / Protobuf代码的工具。

在 clang 格式中,如何确保模板声明后有换行符

正如 clang-format 文档中所写,我将 BreakTemplateDeclarations 选项设置为“Yes”,但是当格式化我的代码时,它仍然放在同一行。例如 模板 如clang-format文档中所写我将BreakTemplateDeclarations选项设置为“是”,但是当格式化我的代码时,它仍然被放在同一行。例如 template<typename type> class Class{}; 而不是 template<typename type> class Class{}; 有什么我忽略的吗? 我尝试了 BreakTemplateDeclarations 选项,我也尝试了(已弃用)AlwaysBreakTemplateDeclarations 选项,但没有任何效果。 这是我当前的 .clang 格式文件: --- BasedOnStyle: WebKit AlignAfterOpenBracket: Align AlignArrayOfStructures: Left AlignOperands: AlignAfterOperator AlignConsecutiveMacros: None AlignEscapedNewlines: DontAlign AlwaysBreakkTemplateDeclarations: true AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: Empty AllowShortFunctionsOnASingleLine: Empty BinPackArguments: false BinPackParameters: false BreakBeforeBraces: Attach BreakBeforeConceptDeclarations: Always BreakTemplateDeclarations: Yes ColumnLimit: 120 Cpp11BracedListStyle: true EmptyLineAfterAccessModifier: Never EmptyLineBeforeAccessModifier: Always FixNamespaceComments: true IncludeBlocks: Regroup IndentAccessModifiers: true IndentCaseLabels: true IndentExternBlock: Indent IndentWidth: 4 InsertBraces: true IntegerLiteralSeperator: Binary: -1 Decimal: 3 DecimalMinDigits: 5 Hex: 2 HexMinDigits: 6 JavaScriptQuotes: Double KeepEmptyLinesAtEOF: false KeepEmptyLinesAtTheStartOfBlocks: false LineEnding: LF MaxEmptyLinesToKeep: 1 PackConstructorInitializers: NextLine NamespaceIndentation: None PenaltyReturnTypeOnItsOwnLine: 200 PenaltyBreakOpenParenthesis: 200 PenaltyBreakTemplateDeclaration: 0 PenaltyIndentedWhitespace: 1 PointerAlignment: Right ReferenceAlignment: Right RemoveParentheses: MultipleParentheses SeperateDefinitionBlocks: Always SpaceAfterTemplateKeyword: false SpaceBeforeAssignmentOperators: true SpaceBeforeCaseColon: false SpaceBeeforeCpp11BracedList: false SpaceBeforeCtorInitializerColon: false SpaceBeforeParens: ControlStatements SpaceBeforeRangeBasedForLoopColon: false SpaceBeforeSquareBrackets: false SpaceInEmptyBlock: false SpacesInAngles: Never SpacesInContainerLiterals: false SpacesInLineCommentPrefix: Minimum: 1 Maximum: 1 SpacesInParens: Never SpacesInSquareBrackets: false TabWidth: 4 UseTab: Always ... 问题是您为键true指定了错误的值AlwaysBreakkTemplateDeclarations。从 clang 格式文档 可能的值是: 可能的值: 离开:请勿更改声明前的换行符。 否 : 声明前请勿强制中断。 是:模板声明后始终中断。 MultiLine:仅当以下声明跨越多行时,才在模板声明后强制中断。

回答 1 投票 0

将.clang格式的代码风格导出到Android Studio

问题:有没有办法在Android Studio中导入.clang格式的代码风格进行原生开发? 语境: 大家好, 我目前正在做一个跨平台的C++项目,其中也涉及到

回答 3 投票 0

clang 格式文件无法在 Visual Studio 代码中工作

我已将 .clang 格式的文件放入我的工作区中。但该格式并未应用于我的代码。我已经检查了设置,后备样式设置为“无”,clang_format_sty 文件设置为“无”...

回答 5 投票 0

Clang 格式在包含正则表达式中使用格式化文件名

考虑文件 Main.c 中包含以下内容 #include“Main.h” #include“Main_something.h” #include“Main_anotherthing.h” #include“Main_randomString.h” #

回答 1 投票 0

如何让每个参数都在下一行AlignAfterOpenBracket=BlockIndent?

我有以下 clang-format 配置 --- 语言:Cpp AlignAfterOpenBracket:块缩进 BreakBeforeBraces:奥尔曼 栏数限制:80 缩进宽度:4 我的代码格式如下...

回答 1 投票 0

如何将 VSCode 的 clang-format 扩展的缩进更改为 4?

clang-format 命令行允许定义缩进宽度,例如 clang-format -style="{IndentWidth: 4}" myfile.cpp 我在 Ubuntu linux 上安装了 VSCode 的 clang-format 扩展,但我没有...

回答 2 投票 0

如何标记一个区域以便 clang-format 不会触及它?

例如,在MySQL++库中,有一些宏可用于基于sql表定义来定义简单的结构体,如下所示: sql_create_6(库存, 1, 6, mysqlpp::sql_char,项目,

回答 3 投票 0

如何让 clang 在格式化过程中忽略缩进?

我的设备上正确安装了 clang-format。问题是每当我在编辑器中格式化时,我总是会得到以下信息: int main() { printf("你好世界!"); 对于 (int i = 0; i < 5;...

回答 1 投票 0

如何修复 Visual Studio Code clang-format 命令行的大小写

以前,Visual Studio Code 可以按照 .clang 格式文件中的指定在保存时正确应用格式。然而,最近(上个月左右的某个时候)这在区分大小写的问题上崩溃了......

回答 1 投票 0

将 clang-format 工具添加到 makefile 中的现有项目中

我想在我的项目中添加 clang-format 工具以遵循特定的编码风格。我已经有一个项目和 makefile。我应该如何使用 make... 将 clang-format 工具集成到我的项目中

回答 1 投票 0

使用 clang-format 包含前向标头的顺序

clang-format 有 IncludeIsMainRegex 来确定多个文件是否共享相同的主标头,以便首先放置此 #include 指令。足够整洁。 我几乎总是使用前向声明

回答 2 投票 0

Clang 格式以及构造函数初始化列表和空大括号之间的空格

给出这个简单的 C++ 类定义: 类 NotFound :公共 std::logic_error { 民众: 显式 NotFound(const char *s): std::logic_error(s){}; } clang-format 中的哪个选项控制...

回答 1 投票 0

使用 clang 格式缩进大括号

我想使用 clang-format 来缩进大括号,如下所示, 为了(...) { [...] [...] } Clang-format 可以使用 BreakBeforeBraces: Whitesmiths 来做到这一点,但我想自定义它。 ...

回答 1 投票 0

函数和初始化后换行上的 Clang 格式大括号

我使用的是 Clang 格式,配置是不久前完成的。 我注意到变量初始化的样式将大括号与参数保持在同一行,但我想......

回答 2 投票 0

如何使 clang-format 在使用 require 子句打开函数大括号之前不添加新行?

当我使用 Clang-format 自动格式化时,当需要子句存在时,它总是在大括号之前插入换行符。 这 constexpr auto size() const noexcept 需要(!唯一){ 返回标准差::

回答 1 投票 0

强制 clang-format 尊重 doxygen 块注释

我在我的 C/C++ 代码中使用长块 C 风格的 Doxygen 注释。这是 https://www.doxygen.nl/manual/docblocks.html 上列出的样式 #4,看起来像这样(最多 80 个字符)... /*********...

回答 1 投票 0

如何在 VS Code 中美化 C++?

我正在我的文本编辑器 VS Code 中编写一些 C++ 代码。 因此,在某些时候,代码变得很难手动格式化/美化代码。 我尝试使用“格式文档”, 但什么也没发生...

回答 1 投票 0

如何以 clang 格式对齐函数参数名称?

是否可以使用 clang-format 将结构体成员和函数参数名称格式化为列? 例如: 结构体 { 阿尔法; //与“beta”的“b”对齐 未签名...

回答 3 投票 0

在 Visual Studio 2022 中配置 C++ ClangFormat 以使用制表符而不是空格

我已将 Visual Studio 2022 配置为使用 LLVM ClangFormat 和“保留选项卡”。当我编辑并按 Tab 键时,编辑器会正确插入一个选项卡。但是当我粘贴项目或格式时...

回答 1 投票 0

为什么我的 clang-format 不支持 PPDirectiveIndentStyle 选项?

在 OSX 上安装了最新版本的 clang-format: $ brew 升级 clang-format 错误:clang-format 2018-04-24 已安装 $ clang-format-版本 clang-format 版本 7.0.0 (tags/google/stable/20...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.