我可以让Xcode的自动缩进缩进延续行吗?
我想:
BOOL someLongVariableName = someLongValue
| someOtherLongValue
| moreLongValues
BOOL someOtherLongVariableName =
someEvenLongerValue;
[someLongVariableName
performSomeAction:someLongArgument]
我目前得到:
BOOL someLongVariableName = someLongValue
| someOtherLongValue
| moreLongValues
BOOL someOtherLongVariableName =
someEvenLongerValue;
[someLongVariableName
performSomeAction:someLongArgument]
要明确:
答案 0 :(得分:1)
我最终整合uncrustify以部分获得我想要的东西。 (但案例3仍未关闭。)
为了让Xcode自动缩进代码,我创建了一个带有“Run Script”阶段的“Aggregate”目标:
find . -name '*.[mh]' -print0 \
| xargs -0 git diff-index HEAD -- | grep -v "D\t" | cut -c100- \
| xargs uncrustify -l OC --replace --no-backup -c uncrustify.cfg
对于在git中标记为已更改的所有文件,这会运行unrusificful。我已将我的应用目标作为依赖添加到格式目标,因此只有在编译成功时才会格式化。 (重要的是,因为unrustify会因语法错误而混淆。)最后,我已经将格式目标添加到我的方案中,因此每个构建都会启动一种格式。 Xcode通常会自行重新加载格式化文件。
相关设置我的uncrustify.cfg是indent_continue = 4
。
当Xcode重新加载格式化文件时,撤消信息会丢失。我可以从git pre-commit钩子运行脚本,但我更喜欢更快的结果。
另一个缺点是,在非解决方案中的Objective-C支持并不完美,但似乎没有其他选择。 (有一天可能clang-format?)
答案 1 :(得分:-1)
或尝试xcode-preferences-text editing-indentation: 检查语法识别缩进,检查“返回”的自动缩进。