提升生产力:每个 iOS 开发者都应该知道的 10 个 Xcode 技巧

欢迎关注我的公众号:OpenFlutter,感恩

在和 Swift、UIKit 以及现在的 SwiftUI 打交道多年后,我总结了一套在日常工作中真正能提升效率的小技巧。相信我,一旦你用了,就再也回不去了。

1. 代码片段库(⌘ + ⇧ + L)

我们总会写一些重复的代码,比如日志语句、SwiftUI 的样板代码、UserDefaults 的辅助函数,或者 weak self 捕获块等......这些都会累积起来。 与其一遍又一遍地敲相同的代码块,不如创建你自己的代码片段 。 选中代码 → 将其拖动到代码片段库 (右侧面板)。 为其设置一个快捷键 ,比如 logd → 它就会展开成你的调试日志代码。 下次,你只需输入 logd 并按下 Tab 键即可。 👉 结果:原本需要敲击 20 次的键盘,现在只需 4 次。


2. 多光标编辑(⌥ + 点击)

当你需要修改一个变量或修饰符时,不必再手动逐行编辑。 按住 Option (⌥) 键并点击多个位置,你就可以同时在多个地方进行输入。

例如:

swift 复制代码
Text("Hello")
    .font(.title)
    .foregroundColor(.blue)

Text("World")
    .font(.title)
    .foregroundColor(.blue)

想把两行代码中的 .blue 都改成 .red 吗?多光标编辑一步就能搞定。


3. 跳转到定义(⌘ + 点击)

这个功能被大大低估了。当你看到任何类、函数或变量时,只需按住 Command 键并点击,Xcode 就会直接带你到它的定义位置。

这个小小的操作看似微不足道,但在调试或学习新代码库时,它能帮你省去无数的滚动和搜索时间。

专业提示 :使用 ⌘ + ⌥ + 点击,可以快速弹出一个小窗口,而无需离开当前文件。


4. 仅显示错误(⇧ + ⌘ + M)

大型项目意味着问题导航器里充斥着无休止的警告和杂乱信息。

按下 Shift + Command + M → Xcode 只会显示当前文件中的错误

再也不用为了找到真正的问题,而在一大堆废弃警告中翻找了。


5. 在作用域内全部编辑(⌃ + ⌘ + E)

当你重命名一个变量时,别再手动操作了。

将光标放在变量上 → 按下 Control + Command + E → Xcode 会高亮显示作用域内的所有引用。

只需输入一次,所有引用都会立即重命名。

这就像是无需打开菜单,就能拥有重构功能一样。


6. 在 Finder/终端中显示

在导航器中右击任何文件 → 选择 "Show in Finder"(在 Finder 中显示)或 "Show in Terminal"(在终端中显示)。

这个功能在以下情况下非常方便:

  • 你需要将某个资源拖到另一个项目中。
  • 你想快速 cd 进入该目录并运行 Git 命令。

7. 功能不止于暂停的断点

断点不仅仅是为了暂停代码运行。它们还可以:

  • 记录信息(而不停止执行)。
  • 触发脚本(比如打印变量或甚至运行 shell 命令)。

右击断点 → "Edit Breakpoint"(编辑断点)→ 添加一个动作。

例如:无需修改代码,就能在某个函数被调用时自动记录日志。


8. 辅助编辑器(⌘ + ⌥ + ↩)

在处理 SwiftUI 预览或相关的测试文件时,打开辅助编辑器可以并排查看两个文件。

例如:

  • 左侧:你的视图代码。
  • 右侧:预览文件。

现在,你对代码的每次微调都会实时显示,再也不用切换上百次标签页了。


9. 全局搜索(⇧ + ⌘ + O)

想不起来 fetchUserData() 函数在哪里?

按下 Shift + Command + O,输入名称,Xcode 就会直接跳转到它所在的位置。

这个功能适用于类、函数、枚举、故事板------基本上所有东西。它比在文件夹中滚动查找快得多。


10. 运行多个模拟器

你不需要一次只测试一个 iPhone 或 iPad UI。

进入 Window → Devices and Simulators(窗口 → 设备和模拟器),启动多个设备,然后同时在它们上面运行你的应用。

这对于测试响应式布局或及早发现 iPad 特定 bug 来说,非常有用。

相关推荐
wearegogog1233 小时前
基于 MATLAB 的卡尔曼滤波器实现,用于消除噪声并估算信号
前端·算法·matlab
Drawing stars4 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
品克缤4 小时前
Element UI MessageBox 增加第三个按钮(DOM Hack 方案)
前端·javascript·vue.js
小二·4 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
小沐°4 小时前
vue-设置不同环境的打包和运行
前端·javascript·vue.js
qq_419854055 小时前
CSS动效
前端·javascript·css
烛阴5 小时前
3D字体TextGeometry
前端·webgl·three.js
桜吹雪5 小时前
markstream-vue实战踩坑笔记
前端
C_心欲无痕5 小时前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
花哥码天下5 小时前
恢复网站console.log的脚本
前端·javascript·vue.js