我想使用clang格式来生成C函数,例如:
void cfg_InitConfig
(
cfg_Config_t* cfg,
char* name
)
{
// TODO function
}
阅读手册后,我认为clang格式无法做到。 有可能吗?
答案 0 :(得分:2)
这是我目前最好的解决方法,可以打破函数参数,使其具有代码围栏而不是长行。我希望您可以在这里找到有用的东西。
为了变得不受限制,所讨论的代码必须长于限制,因此这是如何格式化更长的示例的方法:
void cfg_InitConfig(cfg_Config_t *cfgxxxxxxxxxxxxxx,
char *namexxxxxxxxxxxxxxxxxxx) {
// TODO function
}
!符号表示这些行与代码围栏有关。
---
Language: Cpp
BasedOnStyle: Google
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignOperands: false
AlignTrailingComments: false
# !
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
# !
BinPackArguments: false
BinPackParameters: false
ColumnLimit: 80
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 2
CompactNamespaces: false
IncludeBlocks: Preserve
IndentWidth: 2
DerivePointerAlignment: false
PointerAlignment: Right
SortIncludes: true
SortUsingDeclarations: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: true
答案 1 :(得分:0)
根据您的问题,我研究了很多文档。不幸的是,没有办法破坏这样的代码
void cfg_InitConfig
(
cfg_Config_t* cfg,
char* name
)
但是可以创建某个补丁来破坏这种对齐方式。创建这种补丁并不是那么容易。
但是,如果使用此选项,则可以得到接近的答案(正确率为80%),但实际上不是您想要的。这是代码
BinPackArguments : false
BinPackParameters: false
AlignConsecutiveAssignments : true
AlignConsecutiveDeclarations: true
使用此结果将是
void cfg_InitConfig(cfg_Config_t* cfgxxxxxxxxxx,
char* namexxxxxxxx)
{
// TODO function
}
您必须扩展函数的变量名,除非它们只能放在一行上