Xcode 有哪些很有用但鲜为人知的技巧?

关注我,每天分享一个关于 iOS 的新知识

前言

作为一个 iOS 开发,使用最多的工具毋庸置疑是 Xcode,Xcode 功能非常强大,但是我接触了很多 iOS 开发之后发现有一些非常有用的技巧,但通常很少人知道,今天就来讲讲。

其实之前讲过很多的 Xcode 使用技巧,我贴出来了一下大家可以去看一下:

Xcode 最好用的 11 个快捷键

使用 Xcode 的重命名进行代码重构

Xcode 开启拼写语法检查

Xcode 快速查看哪里函数调用者

Xcode 多光标编辑

Xcode 展开 Switch Cases

今天再来补充一些新的。

1、更改所有同名的变量或方法

鼠标放到需要修改的变量或者方法名上,按快捷键 command + control + E,Xcode 会自动识别到所有相同的名称,当你编辑的时候,所有的名称跟着改动。

2、不编译直接运行

通常我们运行代码会执行 command + R,但这个命令其实是先编译,再运行,如果你的代码已经编译过了,其实在没改动代码的情况下就无需再执行编译了。

可以直接使用 control + command + R,跳过编译,直接运行,你会发现运行速度非常快。

这个功能在一些场景非常适用:

  1. 当你单纯想再执行一次启动周期

  2. 因为连接原因,正在运行的程序中断了

  3. 当你真机测试时,需要暂时拔掉手机(去厕所、去吃饭、去接水之类的),再回来时无需再编译一次

3、搜索快捷键

  • 单文件内搜索:command + F
  • 全局搜索:command + shift + F

4、自定义搜索范围

在全局搜索的状态下,还可以指定搜索某个范围,比如我想只在 Sources 文件夹内搜索 Kingfisher 这个关键字,先点击 In Workspace,再双击你想要搜索的文件夹:

5、仅显示报错的代码

默认情况下,左侧工具栏的问题列表中会展示警告和错误:

可以点击下方的叉号按钮,它会帮我们过滤掉警告,只显示错误:

之后的面板看起来就干净多了:

6、快速定位文件

我们在调试代码时,经常会一层一层看函数调用堆栈,有时候看着看着就不知道当前所在的文件是在哪个目录了,这时候可以用快捷键 command + shift + J 快速定位到这个文件所在的文件夹,非常方便。

7、一键修复所有报错

有时候我们会遇到这种错误,点击报错提示后,后面会有一个 Fix 按钮,点击 Fix 按钮,Xcode 会自动帮我们修复错误:

如果这种类型的错误太多,手动一个个点击非常麻烦,可以使用快捷键 control + option + command + F 一键修复。

8、自动调整代码缩进

这个之前有提到过,因为在平时开发中真的很有用,所以今天再提一次,当你从其他地方粘贴过来的代码缩进有问题时,先选中有问题的代码,再按快捷键 control + I 会自动帮我们调整缩进。

其实这个调整非常快速,可以在写完代码之后先按 command + A,全选代码,再按 control + I,整个文件的代码缩进都会被自动调整。

9、搜索类名、方法、属性名

在 Xcode 中按快捷键 Command + Shift + O打开搜索框,输入要查询的关键字,可以快捷查询类名、方法名和属性名,非常方便。

这里每天分享一个 iOS 的新知识,快来关注我吧

本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
打工人你好7 小时前
Swift 的 KeyPath 是什么?
swift
Johnny Tong11 小时前
iOS 获取设备占用内存
ios·内存·host_vm
木兰不吃草12 小时前
如何在 Mac 上下载安装仙剑游戏仙剑世界?可以通过IPA砸壳包安装非常简单
游戏·macos·ios·游戏程序·mac
帅次12 小时前
Flutter 异步编程利器:Future 与 Stream 深度解析
android·flutter·ios·小程序·kotlin·webview·android-studio
小鹿撞出了脑震荡15 小时前
Effective Objective-C 2.0 读书笔记——大中枢派发
开发语言·ios·objective-c
struggle202516 小时前
Ollmao (OH-luh-毛程序包及源码) 是一款原生 SwiftUI 应用程序,它与 Ollama 集成,可在 Mac 上本地运行强大的 AI 模型
ios·swiftui·swift
神仙别闹1 天前
基于IOS实现各种倒计时功能
macos·ios·cocoa
gp1032 天前
iOS事件传递和响应
ios·响应链·事件传递
SunshineBrother2 天前
Flutter go_router 路由管理详解&封装
android·flutter·ios
倾云鹤3 天前
iOS实现生物识别
ios·生物识别