Xcode源自动格式化

jsl*_*tts 174 formatting xcode keyboard-shortcuts

作为一名C#开发人员,我已经高度依赖于Visual Studio 2008中的自动格式化.具体来说,我将使用CTRL+ K,D键盘快捷键在我的草率实现后强制恢复形状.

我现在正在尝试学习Objective-C并且缺少Xcode中的某些功能,但可能没有一个像格式化快捷方式那样痛苦.我的谷歌搜索没有内置任何东西,但似乎有一些黑客攻击.我是否遗漏了某些内容,或者Xcode本身不存在此功能?

Ken*_*Ken 417

那是Ctrl+ i.

或者用于低科技,切割然后粘贴.它会重新格式化粘贴.

  • 但这只是缩进.如何移动牙箍,照看断线等? (33认同)
  • 它不应被接受,因为它不执行代码格式化程序将处理的所有事情.它只是重新缩进, (13认同)
  • @Joe你有没有尝试在格式化之前选择代码? (5认同)
  • 好提示。更糟糕的是 XCode 没有这个。 (5认同)
  • 是的,@ powerj1984.我也很失望.它不会在`,`,`=`或其他运算符之后添加适当的空格.它的意图是什么.没有其他的.Mac真的需要在这里向微软学习. (4认同)

Mar*_*c W 129

不幸的是,Xcode没有像VS或Jalopy那样广泛的Eclipse版本.有一些不同的功能,例如将Structure > Re-Indent代码粘贴到源文件时使用的自动格式化.不过,我完全和你在一起; 肯定应该有一些东西来帮助格式化问题.

  • 这不应该被选为答案.来自@ken的答案是正确的 (5认同)
  • 可以使用control-i修复缩进,这将缩进所有选定的行. (4认同)
  • 谢谢,至少我知道我没有错过什么.自动识别确实有助于减轻痛苦,但我将不得不考虑第三方解决方案. (3认同)

mat*_*atm 35

我想推荐两个值得考虑的选择.两者都是新的和不断发展的.

ClangFormat-Xcode(免费) - 在每个cmd + s文件上重新格式化为特定样式并保存,易于在团队内部署

一个Xcode插件,使用@travisjeffery的Clang格式工具格式化您的代码.

使用clang格式,您可以使用Clang将代码格式化为LLVM,Google,Chromium,Mozilla,WebKit或您自己的配置等样式.

目标 - 清洁(付费,尚未尝试) - 如果违反了预定义的样式规则,应用程序会引发构建错误 - 可能在团队中很难使用,所以我没有尝试过.

只需极少的设置,您就可以让Xcode使用我们的应用程序来执行您的规则.如果您发现违反了您的某个规则,Xcode将抛出构建错误并将您带到违规行.


Ngu*_*inh 26

在xcode中,您可以使用此快捷方式格式化(重新缩进)源代码

  • Command+ A选择所有源代码

  • Ctrl+ I重新缩进

希望这可以帮助.


geo*_*war 18

我个人喜欢的PrettyC wantabe是不开心的:http://uncrustify.sourceforge.net/ .它有几十亿个选项,所以我建议你下载UniversalIndentGUI_macx,(也在sourceforge上)一个人写的GUI,帮助你按照自己喜欢的方式设置选项.

然后,您可以添加此自定义用户脚本以取消选中所选文本:

#! /bin/sh
#
# uncrustify!
echo -n "%%%{PBXSelection}%%%"
/usr/local/bin/uncrustify -q -c /usr/local/share/uncrustify/geo_uncrustify.cfg -l oc+ <&0
echo -n "%%%{PBXSelection}%%%"
Run Code Online (Sandbox Code Playgroud)


小智 13

您可以使用Command+ A选择所有内容,然后使用Ctrl+ I来格式化所选内容.


yuv*_*uvi 9

Cmd A + Ctrl I

或者Cmd A然后右键单击.转到结构 - >重新缩进


Jin*_*tin 6

我也觉得xcode应该有这个功能.所以我做了一个扩展:Swimat

安装简单 brew cask install swimat 预习

您可以尝试一下,有关详细信息,请参阅https://github.com/Jintin/Swimat.


jay*_*aym 6

斯威夫特 - https://github.com/nicklockwood/SwiftFormat

它提供 Xcode 扩展以及 CLI 选项。


jaz*_*cat 5

考虑购买自己的AppCode许可证,是一个智能的Objective-C IDE,可以帮助iOS/OS X开发人员.AppCode与Xcode完全兼容,但在增加强大功能方面超越了Xcode .

AppCode 来自JetBrainsIntellij IDEA IDE 的Objective-C变体.他们也是流行的ReSharper扩展到Visual Studio的作者,其主要目的似乎是为微软产品带来一丝IDEA体验的绝望尝试.

AppCode正在使用自己的代码分析器,它提供了接近完美的重构和代码导航支持.还有一种能够重新缩进并完全重新格式化代码的能力(尽管在困难的情况下我仍然会遗漏几个格式设置,但大多数情况下效果很好).

当然,您可以尝试试用版.


小智 5

CTRL+i

就是这样。

(无COMMAND+ i

  • 这个答案已经被提到了 4 次 - 请在回答之前阅读其他答案。 (7认同)