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

相关推荐
玲小珑3 小时前
LangChain.js 完全开发手册(七)RAG(检索增强生成)架构设计与实现
前端·langchain·ai编程
前端小巷子3 小时前
原生 JS 打造三级联动
前端·javascript·面试
江城开朗的豌豆3 小时前
useEffect vs componentDidUpdate:谁才是真正的更新之王?
前端·javascript·react.js
江城开朗的豌豆3 小时前
解密useEffect:让副作用无所遁形!
前端·javascript·react.js
IT_陈寒3 小时前
SpringBoot性能翻倍的7个隐藏配置,90%开发者从不知道!
前端·人工智能·后端
CODE_RabbitV3 小时前
【1分钟速通】 HTML快速入门
前端·html
weixin_459793104 小时前
SSE 模仿 GPT 响应
前端
rookie fish4 小时前
Electron+Vite+Vue项目中,如何监听Electron的修改实现和Vue一样的热更新?[特殊字符]
前端·vue.js·electron
她超甜i4 小时前
前端通过后端给的webrtc的链接,在前端展示,并更新实时状态
前端·javascript·webrtc