Xcode Tips

418 阅读6分钟

前言

Hi Coder,我是 CoderStar!

今天我们不聊技术原理,咱们聊点简单轻松的,也就是我们 iOSer 几乎每天都会用到的XbugXcode虽然确实会有很多Bug,一些设计也不如JB家做的好,但是还是有一些可取之处的,比如页面简洁...,嗯...,好像就这一个?

哈哈,简单开个玩笑,回到正题。虽然我们经常使用Xcode,但是有些功能还是需要我们自己特意去发现一下。今天我们就来聊聊Xcode的一些Tips

本文涉及的 Tips 主要是一些相对通用的,还有一些相对专一点的,比如断点、Instruments等后面再单独介绍。有些Tips可能对于老司机们已经习以为常了,还望不要嫌太低级,如果还有一些文中没有体现的Tips,还望指教。

编辑相关

Refactor

我们把光标放在类上或者方法上右键选中Refactor,其会显示出对其光标处可以进行的自动补全的一些操作;如下图所示:

Refactor

大家根据名字就能看出来支持的一些操作了,基本上都是些很常用的功能。比如说

  • Rename:将光标选中处涉及到所有的统一进行改名;
  • Generate Memberwise Initialzer:利用这功能,当我们利用非常多属性的类 / 结构体时,就可以使用这个快速生成构造函数了;
  • Add Missing Switch Cases:填充缺失的case,虽然说Xcode会自动提示Fix补全,但是在电脑提示较慢的时候还是很难受的;
  • ...

Actions

还是将光标放到类或者方法上,然后 command + 左键,就会出现下列的Actions选项,看名字大家就知道大概支持哪些操作。

Actions

之前还有小伙伴在群里抱怨Xcode没有Callers的功能,这不是来了嘛...

其中 Edit All in Scope 快捷键为 control + command + e

使用 option + 左键 ,会显示相应的Quick Help,也就是可以看到光标选中的相关提示,如果是系统相关的类或方法,还可以通过其进入到对应的Developer Documentation

使用 control + command + 左键,会直接跳转到光标选中处的相关实现里面去。

Navigate to Related Items

Navigate to Related Items

大家平时很少关注上图所示的按钮,其实这个地方能提供很多有用的功能。

就不一一介绍了,主要介绍下Generated Interface功能,该功能可以查看 OC 的.h文件生成对应的.swift文件是什么样子,在处理混编时候比较常用;

快捷键:control + 1

Check Spelling

这项功能为Xcode的拼写检查,开启方式为

Edit > Format > Spelling and Grammar > Check Spelling While Typing

Check Spelling

当开启之后,我们在代码编辑过程中出现错误单词后,Xcode会将该单词下面加上红色波浪线,点击邮件并出现推荐的单词以及一些操作。

Check Spelling Prompt

红色波浪线错误单词为Infoo

Code Snippet

这是我们一定要利用起来的东西,良好、丰富的代码块可以有效提高我们代码的编写速度。

其中我们在保存一些代码段的时候可以需要留下一些变量等到使用时再填写上,我们可以使用<#placeholder#>这样的方式来留下待填充值。

我们编写的代码段保存路径为:

~/Library/Developer/Xcode/UserData/CodeSnippets

我们可以使用一些云同步方式对其进行同步,方便复用。

顺便提一下我们新建文件的模板文件路径为:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/iOS/Source

Fix All Issues

程序出现多个错误时,可以选择 Editor —> Fix All Issues 修复多个错误。

快捷键为:control + option + command + F

其他

  • 可以使用 control + I 快捷键来重新调整所选代码的缩进,但其能力有限,如果你使用的是 Swift 开发语言,建议使用SwiftFormat for Xcode
  • 可以使用 command + +/- 来调整编辑区域代码的字体大小,在代码演示时比较常用;
  • 可以使用 command + option + [/] 来向上或向下移动所选代码行,这个操作在操作SwiftUI描述符时非常常用;
  • 可以使用 command + option + / 为方法添加注释,这也是我们通过Quick Help看到的内容。这个功能在Xcode 13 以上略微有点小 bug;
  • 可以使用 shift + control + 左键来实现多行光标,即同时在文件不同位置编写相同内容;
  • 可以使用 control + command + 来实现 .m 文件与 .h之间来回切换,避免繁琐的查找;
  • 将选中的结构定义在辅助编辑器打开,选中结构,使用option + 右键,这样可以方便比对,避免回来切换;
  • ...

导航

Open Quickly

command + Shift + O,该快捷键会打开一个Open Quickly窗口,使我们能够搜索几乎所有内容,包括文件、类型、方法、函数和属性。

OpenQuickly

Reveal in Project Navigator

command + Shift + J,该快捷键会将你当前打开的文件在左侧导航定位到,方便查到该文件所在位置。

搜索

Xcode里面的搜索方式相对来说会比较多,不管是导航器底部的文件筛选还是全局筛选可调整的Scope,或者是使用正则表达式的筛选方式。

导航筛选调整Scope正则表达式

有的时候我们全局搜索完成之后在看到一些搜索项不是我们想要的时候,可以直接删除键将搜索结果删除掉,避免影响我们,当然这个删除只是对搜索结果的删除而已,不会对文件或者内容产生什么影响。

其他

获取 Build Setting 对应的环境变量 Key

共有两种方式:

  1. 选中该配置项,展开右部侧边栏,选中点击帮助按钮就能够看到这个配置的说明和对应的环境变量名称。
  2. 选中该配置,按住 Option 键,双击该配置,会出现一个描述该选项的帮助卡片,这个内容与上面的帮助侧边栏内容一致。

模拟器相关

Debug 操作

Simulator

模拟器Debug下这三个功能比较常用,其中从上到下依次:

  1. 将动画变慢,可以更好看清动画的动作;
  2. 检测图层混合;
  3. 检测离屏渲染;

Environment Overrides

我们可以在Xcode里面通过设置Environment Overrides来调整模拟器的一些设置,如浅 / 深色模式、字体大小等,而不是再去模拟器进行设置。

Environment Overrides

参数配置

  • 关闭 Xcode,打开终端输入defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES,然后项目 Build 的时候可以在 Xcode 顶部看到项目编译时间;
  • 进入Product > Scheme > Edit Scheme... > Run > Arguments > Environment Variables,然后设置OS_ACTIVITY_MODE值置为Disable,该操作可以禁止控制台打印 NSLog,但不可以禁止print()

最后

其实不管是Xcode还是我们平时开发过程中用到的其他IDE,我们应该去主动发掘其的一些隐藏功能,有可能一个小的发现就能帮我们解决过去很不方便的问题。

顺便列几个专门是说明XcodeTips的网站,特别是第一个,比较有意思。

要更加努力呀!

Let's be CoderStar!


有一个技术的圈子与一群同道中人非常重要,来我的技术公众号,这里只聊技术干货。

微信公众号:CoderStar