本地 提示和技巧

利用AppCode的检查和意图优化你的代码

AppCode会不断分析你的代码,寻找可以改进的部分。为此,它为每种受支持的语言提供了一组代码检查和意图操作。
检查找出未使用或冗余的代码、语法错误、可能的错误、拼写错误、过时或冗余的代码结构,换句话说,在编译或编译之前可能要修改的所有内容提交你的代码。对于检查中发现的大多数问题,IDE将提供快速修改这将帮助您修复问题与一个单一的点击。

意图的行动建议一些方法来改变特定的代码构造,使它们更紧凑或更清晰,快速修复问题,转换表达式和控制流语句,等等。

应用上下文动作

意图操作和检查快速修复一起被调用上下文动作.如果插入符号处的代码有任何上下文操作可用,您将在编辑器中看到一个黄色或红色的灯泡。要应用一个动作,请按⌥⏎,从列表中选择,按下

应用目的的行为

当修复由检查检测到的问题时,你可以对当前文件中所有相同的问题应用快速修复:

对文件应用快速修复

检查部件和问题工具窗口

在编辑器窗口的右上角,您可能会看到检查部件如果当前文件中启用的检查检测到任何问题,将出现:

检查部件

要在问题之间跳转,单击小部件中的向上和向下箭头。要查看问题的完整列表,请单击小部件。它会打开问题工具窗口:

问题的工具窗口

通过单击工具窗口中的问题描述,您可以跳转到编辑器中的相关代码,并应用可用的快速修复程序之一(⌥⏎).如果您想在应用它之前看到修复,请打开预览(⌥空间):

应急的预览

按需运行检查

与偶尔修复正在处理的文件中的问题不同,有时可能需要清理代码库,比如删除未使用或过时的代码。在AppCode中,您可以对指定的文件范围运行一组检查,也可以运行单个检查。

进行一系列检查

选择代码|检查代码从主菜单。在打开的对话框中,选择要检查的文件:整个项目、当前文件或自定义范围。当选择自定义范围选项时,您可以选择一个预定义的作用域。例如,您可以只在最近更改的文件中运行检查:

自定义范围

如果您想检查一组特定的文件或位置,您可以这样做创建一个新的范围通过点击...旁边的自定义范围字段。

要运行的检查集可以在检查配置文件部分。点击...或者在当前配置文件中启用/禁用检查,或者创建一个新的配置文件并且只允许必要的检查。

要创建一个新的配置文件,只需复制当前的配置文件:

复制检查剖面图

在新的配置文件中,您可以通过单击来取消选择所有检查- - - - - -在工具栏上,只选择您需要的。

请注意代码分析是IDE中最耗时的特性之一,但是您可以通过禁用所选概要文件中的任何不必要的检查来加快它的速度。

进行一次检查

如果要根据巡检的名称运行具体的巡检,请选择代码|分析代码|按名称执行巡检(或按⌥⇧⌘我).开始输入名称,并从列表中选择文件类型或编程语言的检查:

按其名称运行单个检查

然后,您可以定义检查范围,并设置额外的检查选项,如果需要的话。

禁止检查和意图

如果您不想被任何意图操作分心,可以直接在编辑器中禁用它们。只需单击操作名称旁边的箭头并选择禁用“动作名称”

禁用的意图

类似地,您可以禁用检查:

禁用检验

或者,您可以找到希望禁用的意图操作或检查首选项并在列表中禁用它:

在首选项中禁用检查

快速检查

以下是我们目前对Swift进行的检查的简要概述。去偏好|编辑器|检查| Swift查看完整列表:

快速检查

所有AppCode的Swift检查可以分为以下几组:

检测冗余代码元素的检查

AppCode检测可以在不破坏代码语法的情况下删除的符号,例如返回在单表达式函数中,使用过多自我,算术表达式或布尔表达式中的冗余括号,等等。所有这些检查提供了快速修复,允许您安全地删除任何不必要的元素:

删除多余的元素

定位检查

如果您的应用程序支持多种语言,那么AppCode本地化检查可能会派上用场。的失踪的本地化检查会分析您的Swift代码,并查找没有添加到。字符串文件:

定位检查

还有一组检查在.strings文件(首选项|编辑器|检查|字符串文件).它们检测重复的和未使用的本地化键,以及某些语言中缺失的键。

SourceKit检查

启用SourceKit检查后,AppCode会发现Swift代码中可以改进或可能导致编译错误的部分,并突出显示它们(例如,语法错误、变量和常量的错误用法、未处理的错误,等等)。将光标悬停在突出显示的代码元素上,以查看错误详细信息。对于其中的一些检查,您还可以应用SourceKit fix-its(按⌥⏎并点击申请救助):

SourceKit检查

斯威夫特的意图行动

Swift意向行动的完整列表见下文AppCode | Preferences | Editor | Intentions | Swift

斯威夫特的意图行动

让我们看看最常见的用例。

声明

⌥⏎,您可以向声明中添加或删除显式类型,并拆分或连接声明和赋值:

声明的意图

字符串

通过将意图动作应用到字符串字面量,您可以本地化字符串,使它们多行或单行,并增加或减少弹簧转义级别:

字符串的意图

闭包

你可以将闭包参数转换为结尾闭包,反之亦然:

关闭的意图

运营商

当使用布尔表达式时,你可以快速求反运算符,翻转操作数,替换运算符||&&运用德摩根定律,等等:

运营商的意图

控制流

如果警卫开关,以及其他控制流语句,有大量意图操作可用。例如,你可以快速反转如果声明,取代如果警卫,添加丢失的开关案例,等等:

控制流的意图

总结

“快速检查和意图行动”的清单不断增加。我们正在尝试覆盖尽可能多的用例,以使您的编码过程更顺畅、更容易。如果您对新的检查或意图有想法,请不要犹豫,在我们的项目跟踪器中提交问题,YouTrack.你也可以在那里投票给一个现有的。有关检查和意图操作的更多信息,请访问代码检查意图的行动我们的在线帮助部分。

快乐的发展!
你的本地团队

Baidu