一、引言

  • 作为一名开发人员,当编写代码时,我们会更多地关注逻辑和算法,而不是拼写和语法。但它也是我们编码的一个重要部分,特别是当从注释生成文档的时候。
  • 拼写检查帮助我们找出拼写错误,让我们有更多的时间关注代码逻辑。

二、拼写检查能识别什么?

  • 答案就是代码中与 Spelling and Grammer 相关的所有内容:
    • 变量名
    • 方法
    • 注释
    • 字符串的字面量(包括本地化)
  • 现有如下一段代码:
enum CompanTyp: String {case `public` = "PublicCompanies"case `private` = "PrivateCompanies"case unicorn = "UnicornCompanies"case associated = "AssociateCompanies"
}
class Company {// Cmpany Idvar companyId: String// Company Namevar companyName: String // Company Typevar companyTypa: CompanTyp// number of employee in companyvar numberOfEmplayee: Int = 0init(companyId: String, companyName: String, companyType: CompanTyp) {self.companyId = companyIdself.companyName = companyNameself.companyTypa = companyType}func addNewEmployea() {numberOfEmplayee = numberOfEmplayee + 1}func getEmplayeeCount() -> Int {return numberOfEmplayee}
}
  • 在上面的代码中,包括类、方法、变量和注释,但没有启用Spelling and Grammer。猛一看去,好像没啥问题,但如果我们仔细检查,就会发现很多拼写错误。
  • 现在让我们启用 Spelling and Grammer,看看会发生什么?
enum CompanTyp: String {case `public` = "PublicCompanies"case `private` = "PrivateCompanies"case unicorn = "UnicornC ompanies"case associated = "AssociateCompanies"
}
class Company {// Cmpany Idvar companyId: String// Company Namevar companyName: String// Company Typevar companyTypa: CompanyTypa// number of employee in companyvar numberOfEmplayee: Int = 0init(companyId: String, companyName: String, companyType: CompanTyp) {self.companyId = companyIdself.companyName = companyNameself.companyTypa = companyType}func addNewEmployea() {numberOfEmplayee = numberOfEmplayee + 1}func getEmplayeeCount() -> Int {return numberOfEmplayee}
}
  • 在上面的代码中我们可以看到,当我们启用拼写检查时,它能检测到所有的拼写错误,并用红色高亮显示。现在就省去了找错误的时间,可以直接去修改。

三、如何开启?

  • 如下所示,Edit -> Format -> Spelling and Grammar:



① Check Spelling While Typing

  • 启用后,会把项目中的所有输入错误一次性、全部以红色高亮显示,就像上面的例子一样。
  • 另外,开启这个选项后,还可以选中要修改的单词,然后右键,菜单中会出现 Xcode 建议的单词:

② Check Document Now

  • 它将在当前文件中逐个显示输入错误。为了检查当前文件中的所有错误,可以重复这个命令Edit -> Format -> Spelling and Grammar -> Check Document Now,或者使用快捷键 command 和分号(;)的组合

③ Show Spelling and Grammar

  • 它会打开所有建议的更改,可以单击其中任何一个进行替换。使用命令Edit -> Format -> Spelling and Grammar -> Show Spelling and Grammar,或者使用快捷键 command 和冒号(:)的组合:

④ Learn Spelling 和 Ignore Spelling

  • 有时候我们需要使用一些在系统词典中没有定义的独特词汇,比如应用程序前缀、开发者名称、公司名称等。Xcode 也会检查这些单词的错误。
  • 所以就用 Learn Spelling 或者 Ignore Spelling 处理这些特殊的单词:

四、通过菜单

  • 右键选中要处理的单词:

  • 通过 command + :

iOS之深入解析Xcode的拼写检查相关推荐

  1. iOS之深入解析Xcode 13正式版发布的40个新特性

    一.前言 Xcode 13 包括适用于 iOS 15.iPadOS 15.tvOS 15.watchOS 8 和 macOS Big Sur 11.3 的 SDK. Xcode 13 Release ...

  2. iOS之深入解析Xcode编译运行的原理与应用

    一.前言 编程语言可以分为两种,编译语言和直译式语言: 编译语言(Compiled language)是一种编程语言类型,通过编译器来实现.它不像解释型语言一样,由解释器将代码一句一句运行,而是以编译 ...

  3. iOS中XML解析 (二) libxml2(实例:打印xml内容及存储到数组)

    关联:iOS中XML解析 (一) TBXML (实例:打印xml内容及存储到数组) 关于libxml库的基本使用,在http://xmlsoft.org/网上有文档. 准备工作: project=&g ...

  4. iOS编程--Xcode使用指南1--爱的初印象

    工欲善其事,必先利其器,熟悉Xcode的操作,可以大大提高我们编码,调试的效率,因此从本篇开始,我会尽量详细的介绍Xcode的使用. 0.Xcode的官方描述: Xcode 是用于构建 Mac OS ...

  5. iOS之深入解析UmbrellaFramework的封装与应用

    一.umbrella framework 将多个已经封装好的 framework 封装成一个,封装的这种 framework 就是 umbrella framework. Apple 的官方文档中明确 ...

  6. iOS之深入解析多环境配置的实现方案

    一.多 target 形式配置多环境 如下所示,选择工程 TARGETS,新创建一个 targets: 创建完成后,可要发现产生了一个 plist 文件,这个 plist 就是对应新创建的 targe ...

  7. iOS之深入解析WKWebView加载的生命周期与代理方法

    一.前言 从 WebView 开始加载一条请求,到页面完整呈现这一过程发生了什么?无论是做 WebView 性能优化还是异常问题监控与排查,都离不开对WKWebView加载的生命周期与代理方法的剖析. ...

  8. iOS之深入解析类加载的底层原理:类如何加载到内存中

    一.App 启动与 dylb 加载 App 启动会由 libdyld.dylib 库先于 main 函数调用 start,执行 _dyld_start 方法,然后运用汇编实现调用 dyldbootst ...

  9. solr创建索引_Solr:创建拼写检查器

    solr创建索引 在上一篇文章中,我谈到了Solr Spellchecker的工作原理,然后向您展示了其性能的一些测试结果. 现在,我们将看到另一种拼写检查方法. 与其他方法一样,此方法使用两步过程. ...

最新文章

  1. 网络地址和广播地址的作用
  2. Calendar.clear(int field)的陷阱
  3. mysql使用date_format格式化日期
  4. 父亲节html代码,jquery怎么获取父亲节点?
  5. java jsonobject_Java实现QQ登录
  6. html界面等待状态,html 等待界面
  7. 深入分析Java ClassLoader原理
  8. 3-6Tensor的属性稀疏的变量的编程
  9. 5、SQL Server数据库、T-SQL
  10. uml系统设计期末大作业_梳理一下计算机期末大作业
  11. 微端服务器物品备注,HeroM2引擎怎么在装备上添加备注 传奇添加物品备注说明的方法...
  12. Servlet是什么
  13. CentOS操作系统密码复杂度策略设置
  14. python 答题辅助_如何在百万英雄直播答题中使用Python辅助?
  15. Java对接支付宝的支付、退款、提现
  16. 【稳定性day7】mPaaS - 蚂蚁金服高可用的产品化之路
  17. 5大关键,让你二十年后依然是人才
  18. Spring Boot 2.x基础教程:使用Spring Data JPA访问MySQL我们得从哪入手
  19. 为什么在AndroidManifest.xml中Activity的theme用不了Theme.Light.NoTitleBar?
  20. 个性注释,让你的代码飞起来

热门文章

  1. 【11GR2 RAC】如何开启归档和FLASHBACK
  2. WebService系列之使用Axis获取天气预报数据
  3. 用python输出回文数
  4. postgresql 基本语法
  5. iOS高仿城觅应用客户端项目(开发思路和代码)
  6. WP8.1学习系列(第八章)——透视Pivot设计指南
  7. 遍历一个类中的每一个属性、方法、公共字段
  8. HTML rel 属性
  9. vs.net 2003 错误:无法生成项目输出组“内容文件来自stuschool(活动)”
  10. php fopen 图片下载,php curl与fopen下载远程服务器图片实例