编译 swift-format

Aug 09, 2025 • 预计阅读时间 1 分钟

在 Xcode 的 Editor 菜单下,有一个使用 swift-format 格式化的选项,但是这个工具默认并没有包含在 Xcode 的工具链中。

swift-format 同样是开源项目:https://github.com/swiftlang/swift-format

我们可以自己从源码编译:

git clone https://github.com/swiftlang/swift-format.git
cd swift-format
git checkout "tags/601.0.0"
swift build --arch arm64 --arch x86_64 -c release

601.0.0 是当前 tags 中的最新稳定版本号,--arch arm64 --arch x86_64 表示编译 universal 版本。

编译好后就可以把 swift-format 拷贝到系统的路径下,就可以在 Xcode 的菜单中使用了。

$ sudo mv .build/apple/Products/Release/swift-format /usr/local/bin

Xcode 16

Xcode 16 开始,swift-format 已经内置在工具链里面了:

$ xcrun --find swift-format

虽然 swift-format 内置在工具链中,但是从 Xcode 菜单中调用swift-format 进行格式化仍然不会有效果, 因为 Xcode 只会从 $PATH 中寻找 swift-format,要解决这个问题我们可以手动创建一个同名的 shell 脚本, 然后把参数转发到工具链中的 swift-format

新建一个 shell 脚本:

$ sudo vi /usr/local/bin/swift-format

内容很简单,就是转发命令参数:

#!/usr/bin/env zsh

$(xcrun --find swift-format) "$@"

最后别忘了加上可执行权限:

$ sudo chmod +x /usr/local/bin/swift-format

现在通过 Xcode 菜单可以正常格式化 Swift 源文件了。

Swift
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

升级到 Debian 最新的大版本

在 FreeBSD 上使用 ss5 搭建 Socks5 代理服务器