无论如何都要像在Eclipse或Netbenas中那样格式化Xcode中的代码。我没有在菜单中找到任何选项,是否有任何热键或者它根本不在Xcode中?
答案 0 :(得分:48)
在Xcode 4中,它被移动到Editor > Structure > Re-Indent
命令(默认快捷键为 CTRL + I )。
答案 1 :(得分:8)
除了重新缩进(编辑>格式>重新缩进),不是真的。但是,Xcode确实支持脚本(Window菜单右侧的菜单),因此您可以想象编写一个脚本,根据您的喜好格式化代码。
编辑:以下是一些涉及此主题的链接:
答案 2 :(得分:6)
选择一些文字然后:编辑 - >格式 - >重新缩进
您可以将其绑定到首选项中的热键。
答案 3 :(得分:2)
我个人最喜欢的代码格式化程序是Uncrustify。 它有很多很多选项,所以我建议你下载UniversalIndentGUI,一个GUI来帮助你根据自己的喜好设置Uncrustify的行为。
答案 4 :(得分:2)
以下是格式化Xcode中代码的快捷方式
1.格式化整个代码(整个班级/控制人员)
选择整个代码并在Mac 上按⌘ + | 格式化代码。
2.格式化特定代码块
选择代码并按
⌘ + ] 用于右移和⌘ + [用于左移
注意:根据@JavierGiovannini sugesstion,你可以使用编辑菜单选项
3.选择代码 - >转到编辑 - >结构 - >重新缩进强>
答案 5 :(得分:1)
不是说这是最好的方法,但为了完整性,如果您剪切然后再粘贴代码,Xcode会自动为您格式化。
答案 6 :(得分:0)
在第4版中,您可以通过xCode首选项进行一些调整...
答案 7 :(得分:0)
您还可以突出显示要缩进的代码,并使用re-indent命令
答案 8 :(得分:0)
另一种选择是使用Swimat之类的扩展程序。这份工作对我而言。但是,需要注意的是,由于限制性Xcode扩展API,它不会在保存时格式化,但他们正在尝试找到解决方法。
答案 9 :(得分:0)
如果您喜欢像我一样看代码,则确实需要此快捷方式:)
您必须选择 CMD + A 才能重新格式化整个代码段。
您需要执行的所有操作,选择要重新格式化的代码段,然后按: Ctrl + I 神奇地,它只是重新格式化了?
答案 10 :(得分:0)
^ - I (控件-大写字母 i ) :格式化当前行
⌘- A + ^ - I :格式化整个代码文件
答案 11 :(得分:0)
好吧,首先欢迎来到 2021 年。我知道这是一个非常古老的问题,但仍然像我这样的人访问这个,对于这些人,我在一个答案中推出了多个可用的解决方案,在 2 小时后对我有用研究和测试。
正如其他人所建议的,如果您只想重新缩进代码行,它是默认解决方案之一:
转到:Editor -> Structure -> Re-Indent
或使用快捷方式 control + I
我发现并使用了 2 个对我来说非常有用的扩展。
1) SwiftFormat:在此处从自述文件中提及安装 xcode 扩展的步骤。
<块引用>和命令行工具一样,你可以为 Xcode 安装 SwiftFormat 通过 Homebrew 扩展应用程序。假设你已经有了 Homebrew 已安装,输入:
$ brew install --cask swiftformat-for-xcode
打开您刚刚安装的 SwiftFormat for Xcode.app。您可以在那里更改格式规则。
之后,打开 system preference -> extensions -> xcode source editor
并选中 SwiftFormat 的复选框。
重启Xcode
瞧!你很高兴去。您可以使用三个选项。格式化所选代码、格式化整个文件或仅格式化 lint 文件。
2) Swimat:(@Guy Daher 在这里的一个答案中已经提到了)从自述文件安装的步骤
<块引用>通过homebrew-cask安装
Homebrew 最新版本
brew install --cask swimat
与上述扩展安装类似,打开Swimat.app,如果它没有打开,则尝试从system preferences -> security & privacy -> open swimat app
打开后,点击 install in ./bin 文件夹,使其在全局范围内工作(不确定这一步,但我刚刚做了)
重启Xcode
现在您可以转到editor -> swimat -> format
宾果游戏!你可以走了。
您可以简单地设置键绑定以使用任何此命令。即我已将 android studio 默认命令设置为将代码重新格式化为 option + command + L
ps如果其他人找到更好的扩展名,请在评论中告诉我,我会将其添加到列表中。
答案 12 :(得分:-3)