Android 布局诊断
Android 布局诊断旨在通过突出显示常见质量问题和有用的优化来帮助提高 Android 布局文件的质量。 此功能适用于 Visual Studio 16.5+ 和 Visual Studio for Mac 8.5+。
提供了一组默认的分析器来解决各种问题,并且可以对每个分析器进行自定义以满足项目的特定需求。 这些分析器大致基于 Android Lint 分析系统。
在 Visual Studio 2019 上启用 Android 布局诊断
确保已启用布局诊断设置“启用布局诊断”。 若要访问此选项页,请先依次选择“工具”>“选项”,再依次选择“文本编辑器”>“Android XML”>“高级”:
启用后,Android 布局编辑器将显示问题:
功能
以下部分概述了 Android 布局诊断中的可用功能。
分析器
分析器用于帮助检测布局文件中的问题、减少硬编码值、提高性能和标记错误。 有关分析器列表,请参阅 Android 设计器诊断分析器
诊断配置
可以使用 XML 文件配置分析器,从而可以更改默认严重级别、忽略某些文件并传入变量。
如果想要在多个 Android 应用之间共享一组配置,则可以使用基线文件。 若要使用此功能,请创建一个新的配置文件并将 -baseline
附加到文件名中。 首先应用基线配置,然后应用剩余的配置文件。
提示
如果要忽略新的或现有 Android 应用上的一组问题,此功能非常有用。
格式为:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<issue id="DuplicateIDs" severity="warning">
<ignore path="Resources/layout/layout1.xml" />
</issue>
<issue id="HardcodedText" severity="informational">
<ignore path="Resources/layout/layout1.xml" />
<ignore path="Resource/layout/layout2.xml" />
</issue>
<issue id="TooManyViews">
<variable name="MAX_VIEW_COUNT" value="12" />
</issue>
<issue id="TooDeepLayout">
<variable name="MAX_DEPTH" value="12" />
</issue>
</configuration>
注意
目前,TooManyViews
和 TooDeepLayout
的唯一变量分别是 MAX_VIEW_COUNT
(默认值:80)和 MAX_DEPTH
(默认值:10)。
严重级别包括:
- 建议
- 信息
- 警告
- 错误
- 忽略
添加配置文件
在 Android 应用项目的根目录中创建新的 XML 文件。 文件的名称并不重要,但此示例使用 AndroidLayoutDiagnostics.xml
:
添加新的 XML 文件后,它应显示在 Android 应用项目树中:
确保在属性面板中将生成操作设置为 AndroidResourceAnalysisConfig。 拉取新文件的属性面板的最简单方法是右键单击文件并选择属性。 显示属性面板后,应将“生成操作”更改为 AndroidResourceAnalysisConfig:
现在,你有一个空白的 XML 文件,需要添加 <configuration>
根元素。 此时,可以调整任何受支持的问题的默认行为。
如果要确保硬编码字符串被视为错误,请添加:
<issue="HardcodedText" severity="error">
</issue>
现在,硬编码文本被视为错误,在布局编辑器中用红色波浪线标记:
注意
要使任何新的配置文件更改生效,需要重新打开任何当前打开的布局文件。
疑难解答
以下是一些可能的常见问题。
- 请确保没有 XML 格式错误。
- 生成操作已正确设置为 AndroidResourceAnalysisConfig。
已知问题
- 首次更改文件后,才会填充错误板。