标签: uncrustify

"强制"在Uncrustify中做了什么?

许多选项包括Force值选项:

在嵌套的parens之间添加或删除空格

sp_paren_paren{ Ignore,Add,Remove,Force}

这是什么意思?它有什么不同Add

code-formatting uncrustify

38
推荐指数
2
解决办法
3847
查看次数

Uncrustify可以在Objective-C方法调用中对齐冒号吗?

我正在使用uncrustify 0.52.当我针对Objective-C文件运行它时,它想要转换方法调用,如下所示:

[NSApp beginSheet:startTimerDialog
   modalForWindow:nil
    modalDelegate:nil
   didEndSelector:nil
      contextInfo:nil];
Run Code Online (Sandbox Code Playgroud)

对此:

[NSApp beginSheet:startTimerDialog
 modalForWindow:nil
 modalDelegate:nil
 didEndSelector:nil
 contextInfo:nil];
Run Code Online (Sandbox Code Playgroud)

我更喜欢第一个版本,冒号对齐.在uncrustify配置文件中是否有一个选项可以支持我想要的内容,或者只是不支持对齐的冒号?

如果unrustify不能对齐冒号,有没有办法防止它排除我自己对齐的冒号?

更新:

mmc注意到此功能在Build 1581版本的Uncrustify svn存储库中可用.它处于unrustify 0.54.align_oc_msg_colon = true在配置文件中设置以启用它.

进一步更新

对于将来找到此答案的人:.cfg文件中的首选项名称已更改.现在align_oc_msg_colon_span= 1要获得上述行为.现在还有一个align_oc_decl_colon = true将为多行声明做名称的事情.

objective-c uncrustify

15
推荐指数
1
解决办法
3677
查看次数

Google的Objective-C风格是否有Uncrustify配置?

是否有Uncrustify的配置文件,它将根据Google的Objective-C风格指南格式化Objective-C ?

Uncrustify的示例配置文件看起来有点令人生畏,我希望我不需要从头开始构建一个...

objective-c uncrustify

14
推荐指数
2
解决办法
4294
查看次数

是否可以阻止Uncrustify修改代码的某些部分?

Uncrustify非常棒,并且可以很好地整理代码.但是,我在文件中有一些C代码,我不希望Uncrustify改变.有什么方法可以防止Uncrustify触及这个,可能是通过在代码周围的注释中放置特定的标签或什么?

c code-formatting uncrustify

14
推荐指数
1
解决办法
865
查看次数

使用Uncrustify与VIM

在我的vimrc中,我通过以下命令调用Uncrustify:

%!uncrustify -l CPP -c D:\uncrustify\default.cfg
Run Code Online (Sandbox Code Playgroud)

在那之后的一些代码我得到Windows致命错误:

但是当我使用-f选项在控制台中对相同代码调用uncrustify时,没有错误.

如何更改我的vimrc以避免将来出现此类错误?什么可以调用此错误?

vim uncrustify

13
推荐指数
1
解决办法
2046
查看次数

如何使用块和Xcode在带有大括号的新行上格式化源代码?

有没有办法让Xcode不重新格式化格式化的代码,或者是否有像uncrustify这样的工具可以格式化使用块的源代码?

对于objective-c中的块,代码变得难以阅读.一种解决方案是写出块定义并在新行上放置花括号,如下所示:

dispatch_async(dispatch_get_global_queue(0, 0), ^(void)
{
    //block of code
});
Run Code Online (Sandbox Code Playgroud)

和:

[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop)
{
    //block of code
}];
Run Code Online (Sandbox Code Playgroud)

美丽而轻松!

但是Xcode不保留这种格式,我找不到以这种方式制作unrustify输出代码的方法.Uncrustify真的很好,但也许块太新了?

有任何想法吗?

[免责声明:我知道这可能变成"巨魔小时",但代码应该是一样容易地阅读,并在同一列有括号,使事情变得更加清晰(对我来说).特别是如果你在一个街区内有几个街区.因此,如果你不喜欢这样的代码,请尝试忽略这个问题.]

xcode objective-c objective-c-blocks uncrustify

11
推荐指数
1
解决办法
1906
查看次数

ctags多线C函数原型

有没有办法让ctags在C中处理多行函数原型?

我已经四处寻找并且--fields=+S应该做多线原型,但我不能让它工作:

ctags -x --c-kinds=pf --fields=+S file
Run Code Online (Sandbox Code Playgroud)

文件:

int 
foo(int
    x, int y
    );
Run Code Online (Sandbox Code Playgroud)

ctags只返回:

foo(int
Run Code Online (Sandbox Code Playgroud)

(注意,返回类型也缺失)

最终我想获得类似的输出

int foo(int x, int y);
Run Code Online (Sandbox Code Playgroud)

要么

int foo(int x, int y
Run Code Online (Sandbox Code Playgroud)

--fields=+S不是正确的方法?我缺少哪些ctags字段?一般的指针?

如果没有办法在ctags中做任何推荐的程序?(我目前正在寻找unrustify)

c ctags exuberant-ctags uncrustify

10
推荐指数
1
解决办法
2772
查看次数

用于CUDA内核的Uncrustify命令

我想将uncrustify(通过美化Atom编辑器和配置文件)应用于CUDA代码.但是,我不知道如何告诉uncrustify识别具有以下结构的CUDA内核调用:

kernelName <<<N,M>>> (arg0,arg1,...);
Run Code Online (Sandbox Code Playgroud)

然而,解决问题<<< >>>并且应用它会产生以下不愉快的结果

kernelName << < N, M >> >
    (arg0,arg1,...);
Run Code Online (Sandbox Code Playgroud)

我想让它看起来更像一个函数调用,也避免格式化<<<<< <.理想情况下,结果看起来像

kernelName <<< N, M >>> (arg0,arg1,
      ...); // line break if argument list is too long
Run Code Online (Sandbox Code Playgroud)

我可以添加哪些参数config.cfg来实现上述结果?

非常感谢你.

cuda code-formatting uncrustify

8
推荐指数
1
解决办法
200
查看次数

使用uncrustify而不在开括号下对齐

我正在尝试配置uncrustify(源代码美化器)以避免在先前打开的括号下对齐.例如,我希望代码看起来像这样(来自文件 indent_paren.c):

void f(void)
{
    while (one &&
        two)
    {
        continue;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在上面的代码上运行uncrustify时,该行two) 缩进以与上面的行对齐(:

void f(void)
{
    while (one &&
           two)
    {
        continue;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用从源代码编译的最新版本的uncrustify(0.59),以及此测试的以下配置设置(在文件中indent_paren.cfg):

indent_with_tabs = 0
indent_columns   = 4
indent_paren_nl  = false
indent_bool_paren = false
Run Code Online (Sandbox Code Playgroud)

我正在按如下方式调用uncrustify:

uncrustify -c indent_paren.cfg indent_paren.c
Run Code Online (Sandbox Code Playgroud)

我发现版本0.56(从Ubuntu 11.04的存储库安装)具有相同的行为.我使用了错误的配置设置,还是其他错误?谢谢你的帮助.

uncrustify

7
推荐指数
1
解决办法
1359
查看次数

在git提交期间确保编码风格

我的公司我设置了持续集成测试,当有人在服务器上推送代码时我会运行测试.

现在我想检查代码是否与我们的基本编码规则匹配,第一条规则是"在代码上运行mogrify!"

有什么可以检查"现成的"?这个分析的输出可以存储在文件或其他东西上.

谢谢

git coding-style uncrustify

6
推荐指数
2
解决办法
6485
查看次数