如何在 Xcode 中像在 Eclipse 或 NetBeans 中一样格式化代码?我在菜单中没有找到任何选项。是否有一个热键,或者它在 Xcode 中不可用?
在 Xcode 4 中,它已移至
Editor > Structure > Re-Indent
命令(并且默认快捷键为 CTRL+I )。
好吧,首先欢迎来到 2021 年。我知道这是一个非常古老的问题,但仍然有像我这样的人访问这个问题,对于这些人,我在一个答案中提供了多个可用的解决方案,经过 2 小时的研究和研究后,这些解决方案对我有用测试。
正如其他人所建议的,如果您只想重新缩进代码行,这是默认解决方案之一:
转到:
Editor -> Structure -> Re-Indent
或使用快捷键 control + I
我发现并使用了 2 个扩展,它们对我来说非常有用。
1) SwiftFormat:从自述文件中提到安装 xcode 扩展的步骤。
与命令行工具一样,您可以安装 SwiftFormat for Xcode 通过 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 的一个答案中已经提到了)从自述文件安装的步骤
安装自制最新版本
brew install --cask swimat
与上面的扩展安装类似,打开Swimat.app,如果它没有打开,请尝试从
system preferences -> security & privacy -> open swimat app
解决它
打开后,点击./bin文件夹中的install,使其全局工作(不确定这一步,但我就是这么做的)
重新启动 Xcode
现在您可以前往
editor -> swimat -> format
宾果!你可以走了。
您只需设置键绑定即可使用此命令中的任何一个。即我已将 android studio 默认命令设置为将代码重新格式化为 option + command + L
ps如果其他人找到了更好的扩展,请在评论中告诉我,我会将其添加到列表中。
选择一些文本,然后:编辑->格式->重新缩进
您可以将其绑定到首选项中的热键。
除了重新缩进(编辑>格式>重新缩进),不是真的。 但是,Xcode 确实支持脚本(窗口菜单右侧的菜单),因此您可以编写一个脚本来按照您喜欢的方式格式化代码。
编辑:这里有一些涉及此主题的链接:
这里是在 Xcode 中格式化代码的快捷方式
1.格式化整个代码(整个类/控制器)
选择整个代码,然后 在 mac 上按 ⌘+| 来格式化代码。
2.格式化特定代码块
选择代码并按
⌘+] 向右移动,⌘+[ 向左移动
注意:根据@JavierGiovannini 的建议,您可以使用编辑器菜单选项
3.选择代码 --> 转到编辑器 --> 结构 --> 重新缩进
我个人最喜欢的代码格式化程序是Uncrustify。 它有很多很多选项,所以我还建议您下载 UniversalIndentGUI,这是一个 GUI,可以帮助根据您的喜好设置 Uncrustify 的行为。
另一种选择是使用像 Swimat 这样的扩展。为我做这份工作。然而,需要注意的是,由于 Xcode 扩展 API 的限制,它在保存时不会格式化,但他们正在尝试找到解决方法。
并不是说这是最好的方法,但为了完整起见,如果您剪切代码然后将其粘贴回原处,Xcode 会自动为您格式化它。
在 v.4 中,您可以通过 xCode 首选项进行一些调整...
^-I(control - 大写i) :格式化当前行
⌘-A + ^-I :格式化整个代码文件
在 Xcode 16 中,仍然支持 Editor > Structure > Re-indent 的 Control-I 快捷方式,但还有一个新的 Editor > Structure > Format File with 'swift-format' 命令,快捷方式为Shift-Control-I。