提升生产力:每个 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 来说,非常有用。

相关推荐
神明不懂浪漫1 小时前
【第七章】Java中的常用类
java·开发语言·前端·经验分享·笔记
GuWenyue7 小时前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架
原则猫8 小时前
函数/变量提升
前端
独泪了无痕9 小时前
Vue3 Hooks使用实战解析
前端·vue.js
shawxlee10 小时前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
用户0595401744611 小时前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹11 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen11 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱11 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
郝亚军13 小时前
如何安装webstorm、Node.js和vue CLI
前端·javascript·vue.js