XAML 中的代码检查
在 XAML 中,ReSharper 2025.2 提供了两种代码检查:4 项 检测错误的检查 ,例如语法错误、未解析的符号、编译器错误等(这些检查无法配置或禁用),以及 76 项 专有代码检查 ,您可以 禁用或更改其 严重性级别。
这些 代码检查 帮助您在所有打开的文件中 设计时 检测代码问题,并且还允许您 在特定范围内查找代码问题。
可配置的 XAML 检查列在下方,并按其 类别分组。
代码通知(26 项检查)
此类别分组了严重性级别较低的代码检查。
检查 ID EditorConfig 属性 | 默认严重性 |
|---|
{DynamicResource} 只能与依赖属性一起使用
XAML 动态资源错误
ReSharper XAML 动态资源错误高亮显示 | 错误 |
构造函数未解析
Xaml.ConstructorWarning
resharper_xaml_constructor_warning_highlighting | 警告 |
十进制数字的解析取决于当前机器的区域设置
Xaml.DecimalParsingIsCultureDependent
resharper_xaml_decimal_parsing_is_culture_dependent_highlighting | 警告 |
缺少依赖属性描述符字段
Xaml.DependencyPropertyResolveError
resharper_xaml_dependency_property_resolve_error_highlighting | 警告 |
元素名称引用未解析
Xaml.ElementNameReferenceNotResolved
resharper_xaml_element_name_reference_not_resolved_highlighting | 错误 |
网格列/行定义可以转换为属性
XAML 网格定义可以转换为属性
ReSharper XAML 网格定义可以转换为属性高亮显示 | 提示 |
网格长度定义不能为空
XAML 空网格长度定义
ReSharper XAML 空网格长度定义高亮显示 | 错误 |
忽略的路径
XAML 忽略路径高亮显示
ReSharper XAML 忽略路径高亮显示 | 已禁用 |
映射路径
XAML 映射路径高亮显示
ReSharper XAML 映射路径高亮显示 | 提示 |
无效类型的成员
XAML 无效成员类型
ReSharper XAML 无效成员类型高亮显示 | 错误 |
方法参数将在生成的代码中被事件的参数替换
XAML 方法参数将被忽略
ReSharper XAML 方法参数将被忽略高亮显示 | 警告 |
找到具有相同参数数量的多个重载
XAML 重载冲突
ReSharper XAML 重载冲突高亮显示 | 警告 |
无效类型的对象/标记扩展
XAML 无效类型
ReSharper XAML 无效类型高亮显示 | 错误 |
父级在当前组件树之外
XAML 父项不在当前组件树中
ReSharper XAML 父项不在当前组件树中高亮显示 | 警告 |
资源路径区分大小写
XAML 资源文件路径大小写不匹配
ReSharper XAML 资源文件路径大小写不匹配高亮显示 | 警告 |
缺少路由事件描述符字段
XAML 路由事件解析错误
ReSharper XAML 路由事件解析错误高亮显示 | 警告 |
未解析的静态资源
XAML 静态资源未解析
ReSharper XAML 静态资源未解析高亮显示 | 警告 |
未找到样式类
XAML 未找到样式类
ReSharper XAML 未找到样式类高亮显示 | 警告 |
当 DataContext 已知时,绑定路径未解析
XAML 带上下文的绑定未解析
ReSharper XAML 带上下文的绑定未解析高亮显示 | 警告 |
当 DataContext 未知时,绑定路径未解析
XAML 无上下文的绑定未解析
ReSharper XAML 无上下文的绑定未解析高亮显示 | 提示 |
在 TwoWay 或 OneWayToSource 绑定模式中使用流绑定运算符
XAML Avalonia 流绑定操作符使用了错误的绑定模式
ReSharper XAML Avalonia 流绑定操作符绑定模式错误高亮显示 | 警告 |
未为 CompiledBinding 指定 x:DataType
XAML 编译绑定缺少数据类型错误高亮显示
ReSharper XAML 编译绑定缺少数据类型错误高亮显示 | 错误 |
x:FieldModifier 属性需要 x:Name 属性
XAML 字段修饰符需要 Name 属性
ReSharper XAML 字段修饰符需要 Name 属性高亮显示 | 警告 |
无效类型的 XAML 动态资源
XAML 动态资源类型无效
ReSharper XAML 动态资源类型无效高亮显示 | 建议 |
无效类型的 XAML 资源
XAML 资源类型无效
ReSharper XAML 资源类型无效高亮显示 | 错误 |
无效目标类型的 XAML 样式
XAML 资源目标类型无效
ReSharper XAML 资源目标类型无效高亮显示 | 错误 |
常见实践和代码改进(3 项检查)
此类别分组了查找中等严重性问题的检查,这些问题主要影响代码的可读性。
约束违规(2 项检查)
此类别包括代码检查,主要具有 警告严重性级别,用于检测与符号属性相关的违规行为,包括 ReSharper 的代码注解及其他类似问题。
语法问题(4 项检查)
此类别中的检查会报告字符串字面量和文档注释中的 语法问题。
潜在的代码质量问题(18 项检查)
此类别包括检测关键问题(代码异味)的检查,主要具有 错误 或 警告 级别。 此类别还包括 确保本地化支持的检查。
检查 ID EditorConfig 属性 | 默认严重性 |
|---|
特定于 DeviceFamily 的视图类型名称与通用类型名称不匹配
XAML 设备系列视图 CLR 名称不匹配高亮显示
ReSharper XAML 设备系列视图 CLR 名称不匹配高亮显示 | 警告 |
重复的 DeviceFamily 视图
XAML 重复的设备系列类型视图高亮显示
ReSharper XAML 重复的设备系列类型视图高亮显示 | 错误 |
重复的样式属性/事件设置器
XAML 重复的样式 Setter
ReSharper XAML 重复的样式 Setter 高亮显示 | 警告 |
网格元素列/行索引超出网格定义范围
XAML 索引超出网格定义范围
ReSharper XAML 索引超出网格定义范围高亮显示 | 警告 |
非第一个子项缺少网格列/行设置器
XAML 缺少网格索引
ReSharper XAML 缺少网格索引高亮显示 | 警告 |
未访问的字段(非私有可访问性)
未访问的字段(全局)
ReSharper 未访问的字段(全局)高亮显示 | 建议 |
未访问的字段(私有可访问性)
未访问的字段(局部)
ReSharper 未访问的字段(局部)高亮显示 | 警告 |
路径错误
XAML 路径错误
ReSharper XAML 路径错误高亮显示 | 警告 |
绑定路径中可能存在 'null' 值且没有回退值
XAML 可能的 NullReferenceException
ReSharper XAML 可能的 NullReferenceException 高亮显示 | 建议 |
未显式设置 RelativeSourceMode
XAML RelativeSource 默认模式警告高亮显示
ReSharper XAML RelativeSource 默认模式警告高亮显示 | 警告 |
由于 x:Key 属性,资源无法通过类名访问
XAML 冗余的 Xamarin.Forms 类声明
ReSharper XAML 冗余的 Xamarin.Forms 类声明高亮显示 | 警告 |
样式目标类型无法转换为基类型
XAML 样式目标类型无效
ReSharper XAML 样式目标类型无效高亮显示 | 错误 |
x:DataType 和 BindingContext 中的类型不匹配
XAML Xamarin.Forms 数据类型与 BindingContext 类型不匹配高亮显示
ReSharper XAML Xamarin.Forms 数据类型与 BindingContext 类型不匹配高亮显示 | 警告 |
意外的元素错误
XAML 意外的元素
resharper_xaml_unexpected_element_highlighting | 错误 |
意外的文本标记错误
Xaml.UnexpectedTextToken
resharper_xaml_unexpected_text_token_highlighting | 错误 |
未知的 DeviceFamily
Xaml.XamlUnknownDeviceFamilyTypeHighlighting
resharper_xaml_xaml_unknown_device_family_type_highlighting_highlighting | 警告 |
x:Key 仅允许用于资源和字典元素
Xaml.XKeyAttributeDisallowed
resharper_xaml_x_key_attribute_disallowed_highlighting | 错误 |
XAML 语言级别错误
Xaml.LanguageLevel
resharper_xaml_language_level_highlighting | 错误 |
代码中的冗余(13 项检查)
此类别中的代码检查查找冗余和无用代码,这些代码会影响代码的可读性和风格,并且可以安全地移除。 某些代码冗余无法自动修复,其快速修复需要在交互模式下进行,需用户输入。 但大多数冗余可以在无需用户交互的情况下修复,使用 范围内修复 或 代码清理。
检查 ID EditorConfig 属性 | 默认严重性 |
|---|
绑定模式等于默认值
Xaml.RedundantBindingModeAttribute
resharper_xaml_redundant_binding_mode_attribute_highlighting | 警告 |
属性值等于样式提供的值
Xaml.RedundantStyledValue
resharper_xaml_redundant_styled_value_highlighting | 警告 |
冗余的空集合属性设置器
Xaml.RedundantCollectionProperty
resharper_xaml_redundant_collection_property_highlighting | 警告 |
冗余的 'Freeze' 属性
Xaml.RedundantFreezeAttribute
resharper_xaml_redundant_freeze_attribute_highlighting | 警告 |
冗余的修饰符属性
Xaml.RedundantModifiersAttribute
resharper_xaml_redundant_modifiers_attribute_highlighting | 警告 |
冗余的名称属性
Xaml.RedundantNameAttribute
resharper_xaml_redundant_name_attribute_highlighting | 警告 |
冗余的命名空间别名
Xaml.RedundantNamespaceAlias
resharper_xaml_redundant_namespace_alias_highlighting | 警告 |
冗余的属性类型限定符
Xaml.RedundantPropertyTypeQualifier
resharper_xaml_redundant_property_type_qualifier_highlighting | 警告 |
冗余的资源
Xaml.RedundantResource
resharper_xaml_redundant_resource_highlighting | 警告 |
移除冗余的附加属性设置器
Xaml.RedundantAttachedProperty
resharper_xaml_redundant_attached_property_highlighting | 警告 |
单个网格行/列定义是冗余的
Xaml.RedundantGridDefinitions
resharper_xaml_redundant_grid_definitions_highlighting | 警告 |
单元格网格列/行跨度是冗余的
Xaml.RedundantGridSpan
resharper_xaml_redundant_grid_span_highlighting | 警告 |
UpdateSourceTrigger=Default 是冗余的
Xaml.RedundantUpdateSourceTriggerAttribute
resharper_xaml_redundant_update_source_trigger_attribute_highlighting | 警告 |
符号声明中的冗余(4 项检查)
此类别包括代码检查,主要具有 警告 严重性级别,用于检测空的和未使用的符号声明。
最后修改日期: 2025年 9月 27日