当超出列时,clang格式强制每个参数/参数拥有自己的行?
clang-format force each argument / parameter to own line when column exceeded?
我正在尝试弄清楚是否可以使用 clang 格式以我正在寻找的方式获取参数/参数。
我已经尝试了很多事情,但到目前为止我只能得到这个:
SDL_SetRenderDrawColor(renderer,153 + floor(toGreenRed * percentage),51 + floor(toGreenGreen * percentage),51 + floor(toGreenBlue * percentage),255);
要格式化为:
SDL_SetRenderDrawColor(renderer,
153 + floor(toGreenRed * percentage),
51 + floor(toGreenGreen * percentage),
51 + floor(toGreenBlue * percentage),
255);
但我想要这个:
SDL_SetRenderDrawColor(
renderer,
153 + floor(toGreenRed * percentage),
51 + floor(toGreenGreen * percentage),
51 + floor(toGreenBlue * percentage),
255
);
目前还有这个:
void renderHealthBox( SDL_Renderer *renderer, int sideUiWidth, int yOffset, float percentage, float laksjdlkajsdlkasjdlkasjd) {
格式为:
void renderHealthBox(
SDL_Renderer *renderer, int sideUiWidth, int yOffset, float percentage, float laksjdlkajsdlkasjdlkasjd) {
但是我想要:
void renderHealthBox(
SDL_Renderer *renderer,
int sideUiWidth,
int yOffset,
float percentage,
float laksjdlkajsdlkasjdlkasjd
) {
我正在寻找的 clang 格式可能吗?
我目前的配置是:
Language: Cpp
IndentWidth: 2
ObjCBlockIndentWidth: 2
ContinuationIndentWidth: 2
ColumnLimit: 120
BinPackArguments: false
BinPackParameters: false
AlignAfterOpenBracket: DontAlign
IndentCaseLabels: true
这个配置足够好吗?这是基于@hit的评论,但我不认为这个问题是另一个问题的重复。它的主要部分是AlignAfterOpenBracket: AlwaysBreak
.来自 clang 格式的文档:
BAS_AlwaysBreak
(在配置中:AlwaysBreak
(如果参数不适合一行,则始终在开括号后中断
例:
.clang-format
:
Language: Cpp
IndentWidth: 2
ObjCBlockIndentWidth: 2
ContinuationIndentWidth: 2
ColumnLimit: 120
BinPackArguments: false
BinPackParameters: false
AlignAfterOpenBracket: AlwaysBreak
IndentCaseLabels: true
AllowAllParametersOfDeclarationOnNextLine: false
test.cpp
:
void renderHealthBox(SDL_Renderer *renderer, int sideUiWidth, int yOffset, float percentage, float laksjdlkajsdlkasjdlkasjd) {
}
int main()
{
SDL_SetRenderDrawColor(renderer,153 + floor(toGreenRed * percentage),51 + floor(toGreenGreen * percentage),51 + floor(toGreenBlue * percentage),255);
}
$ clang-format test.cpp
:
void renderHealthBox(
SDL_Renderer *renderer,
int sideUiWidth,
int yOffset,
float percentage,
float laksjdlkajsdlkasjdlkasjd) {}
int main() {
SDL_SetRenderDrawColor(
renderer,
153 + floor(toGreenRed * percentage),
51 + floor(toGreenGreen * percentage),
51 + floor(toGreenBlue * percentage),
255);
}
与所需格式的唯一区别是右括号不在自己的行上。我认为这是一个有点奇怪的要求,所以我认为不可能用clang-format
来实现。
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 是否可以获取成员函数模板参数的拥有对象?
- 在C++中,有没有一种方法可以让我在不传递参数的情况下拥有一个函数
- 当超出列时,clang格式强制每个参数/参数拥有自己的行?
- 如何有效地传递 std::vector<cv::P oint3f> 的子向量作为参数(不拥有函数)
- 如何拥有具有类型和大小的可变参数模板
- 如何拥有多个参数包
- open() 的参数:每个人都应该拥有对文件的所有访问权限,并且应该在创建时被截断
- 朋友拥有自己的类模板和其他模板参数
- 如何定义它可以拥有任意参数的模板类
- 如何拥有一个带有类元素的向量,其中一些元素分配了构造函数参数
- 如何在一个可变模板中拥有多个参数包
- Doxygen:是否可以对C++函数参数进行分组,即在不复制的情况下拥有相同的文档
- C++可以拥有一个包含不同类型参数的专用模板对象的容器
- MSXML方法是否对其BSTR参数拥有内存所有权?