XAML 中的代码检查
在 XAML 中,JetBrains Rider 2025.1 提供了两种代码检查:4 项 检测错误的检查 ,例如语法错误、未解析的符号、编译器错误等(这些检查无法配置或禁用),以及 76 项 专有代码检查 ,您可以 禁用或更改其 严重性级别。
这些 代码检查帮助您在所有打开的文件中 设计时检测代码问题,并且还允许您 在特定范围内查找代码问题。
可配置的 XAML 检查列在下方,并按其 类别分组。
代码通知(26 项检查)
此类别包含轻微严重性级别的代码检查。
检查 ID EditorConfig 属性 | 默认严重性 |
|---|
{DynamicResource} 只能与依赖属性一起使用
Xaml.DynamicResourceError
resharper_xaml_dynamic_resource_error_highlighting | 错误 |
构造函数未解析
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.GridDefinitionsCanBeConvertedToAttribute
resharper_xaml_grid_definitions_can_be_converted_to_attribute_highlighting | 提示 |
网格长度定义不能为空
Xaml.EmptyGridLengthDefinition
resharper_xaml_empty_grid_length_definition_highlighting | 错误 |
忽略的路径
Xaml.IgnoredPathHighlighting
resharper_xaml_ignored_path_highlighting_highlighting | 已禁用 |
映射的路径
Xaml.MappedPathHighlighting
resharper_xaml_mapped_path_highlighting_highlighting | 提示 |
无效类型的成员
Xaml.InvalidMemberType
resharper_xaml_invalid_member_type_highlighting | 错误 |
方法参数将在生成的代码中被事件的参数替换
Xaml.MethodArgumentsWillBeIgnored
resharper_xaml_method_arguments_will_be_ignored_highlighting | 警告 |
找到具有相同参数数量的多个重载
Xaml.OverloadsCollision
resharper_xaml_overloads_collision_highlighting | 警告 |
无效类型的对象/标记扩展
Xaml.InvalidType
resharper_xaml_invalid_type_highlighting | 错误 |
父级在当前组件树之外
Xaml.ParentIsOutOfCurrentComponentTree
resharper_xaml_parent_is_out_of_current_component_tree_highlighting | 警告 |
资源路径区分大小写
Xaml.ResourceFilePathCaseMismatch
resharper_xaml_resource_file_path_case_mismatch_highlighting | 警告 |
缺少路由事件描述符字段
Xaml.RoutedEventResolveError
resharper_xaml_routed_event_resolve_error_highlighting | 警告 |
未解析的静态资源
Xaml.StaticResourceNotResolved
resharper_xaml_static_resource_not_resolved_highlighting | 警告 |
未找到样式类
Xaml.StyleClassNotFound
resharper_xaml_style_class_not_found_highlighting | 警告 |
当 DataContext 已知时,绑定路径未解析
Xaml.BindingWithContextNotResolved
resharper_xaml_binding_with_context_not_resolved_highlighting | 警告 |
当 DataContext 未知时,绑定路径未解析
Xaml.BindingWithoutContextNotResolved
resharper_xaml_binding_without_context_not_resolved_highlighting | 提示 |
在 TwoWay 或 OneWayToSource 绑定模式中使用流绑定运算符
Xaml.AvaloniaWrongBindingModeForStreamBindingOperator
resharper_xaml_avalonia_wrong_binding_mode_for_stream_binding_operator_highlighting | 警告 |
未为 CompiledBinding 指定 x:DataType
Xaml.CompiledBindingMissingDataTypeErrorHighlighting
resharper_xaml_compiled_binding_missing_data_type_error_highlighting_highlighting | 错误 |
x:FieldModifier 属性需要 x:Name 属性
Xaml.FieldModifierRequiresNameAttribute
resharper_xaml_field_modifier_requires_name_attribute_highlighting | 警告 |
无效类型的 XAML 动态资源
Xaml.InvalidDynamicResourceType
resharper_xaml_invalid_dynamic_resource_type_highlighting | 建议 |
无效类型的 XAML 资源
Xaml.InvalidResourceType
resharper_xaml_invalid_resource_type_highlighting | 错误 |
无效目标类型的 XAML 样式
Xaml.InvalidResourceTargetType
resharper_xaml_invalid_resource_target_type_highlighting | 错误 |
常见实践和代码改进(3 项检查)
此类别包含主要影响代码可读性的中等严重性问题的检查。
编译器警告(2 项检查)
此类别中的检查会在编译前检测到编译器警告。
检查 ID EditorConfig 属性 | 默认严重性 |
|---|
使用了已过时的类型或类型成员
ObsoleteElement
resharper_obsolete_element_highlighting | 警告 |
使用了已过时的类型或类型成员(错误)
ObsoleteElementError
resharper_obsolete_element_error_highlighting | 错误 |
约束违规(2 项检查)
此类别包括代码检查,主要具有 警告严重级别,用于检测与符号属性相关的违规行为,包括 JetBrains Rider 的代码注解 ,以及其他类似问题。
检查 ID EditorConfig 属性 | 默认严重性 |
|---|
命名不一致
InconsistentNaming
resharper_inconsistent_naming_highlighting | 警告 |
可能将 'null' 分配给不可为空的实体
Xaml.AssignNullToNotNullAttribute
resharper_xaml_assign_null_to_not_null_attribute_highlighting | 警告 |
语法问题(4 项检查)
此类别中的检查报告字符串字面量和文档注释中的 语法问题。
检查 ID EditorConfig 属性 | 默认严重性 |
|---|
注释中的语法错误
GrammarMistakeInComment
resharper_grammar_mistake_in_comment_highlighting | 建议 |
标记属性值中的语法错误
GrammarMistakeInMarkupAttribute
resharper_grammar_mistake_in_markup_attribute_highlighting | 建议 |
标记文本中的语法错误
GrammarMistakeInMarkupText
resharper_grammar_mistake_in_markup_text_highlighting | 建议 |
字符串文字中的语法错误
GrammarMistakeInStringLiteral
resharper_grammar_mistake_in_string_literal_highlighting | 已禁用 |
潜在的代码质量问题(18 项检查)
此类别包括检测关键问题(代码异味)的检查,主要为 错误 或 警告 级别。 此类别还包括 确保本地化支持的检查。
检查 ID EditorConfig 属性 | 默认严重性 |
|---|
特定于 DeviceFamily 的视图类型名称与通用类型名称不匹配
Xaml.XamlMismatchedDeviceFamilyViewClrNameHighlighting
resharper_xaml_xaml_mismatched_device_family_view_clr_name_highlighting_highlighting | 警告 |
重复的 DeviceFamily 视图
Xaml.XamlDuplicateDeviceFamilyTypeViewHighlighting
resharper_xaml_xaml_duplicate_device_family_type_view_highlighting_highlighting | 错误 |
重复的样式属性/事件设置器
Xaml.DuplicateStyleSetter
resharper_xaml_duplicate_style_setter_highlighting | 警告 |
网格元素列/行索引超出网格定义范围
Xaml.IndexOutOfGridDefinition
resharper_xaml_index_out_of_grid_definition_highlighting | 警告 |
非第一个子项缺少网格列/行设置器
Xaml.MissingGridIndex
resharper_xaml_missing_grid_index_highlighting | 警告 |
未访问的字段(非私有访问权限)
NotAccessedField.Global
resharper_not_accessed_field_global_highlighting | 建议 |
未访问的字段(私有访问权限)
NotAccessedField.Local
resharper_not_accessed_field_local_highlighting | 警告 |
路径错误
Xaml.PathError
resharper_xaml_path_error_highlighting | 警告 |
绑定路径中可能存在 'null' 值且没有回退值
Xaml.PossibleNullReferenceException
resharper_xaml_possible_null_reference_exception_highlighting | 建议 |
未显式设置 RelativeSourceMode
Xaml.XamlRelativeSourceDefaultModeWarningHighlighting
resharper_xaml_xaml_relative_source_default_mode_warning_highlighting_highlighting | 警告 |
由于 x:Key 属性,资源无法通过类名访问
Xaml.RedundantXamarinFormsClassDeclaration
resharper_xaml_redundant_xamarin_forms_class_declaration_highlighting | 警告 |
样式目标类型无法转换为基类型
Xaml.StyleInvalidTargetType
resharper_xaml_style_invalid_target_type_highlighting | 错误 |
x:DataType 和 BindingContext 中的类型不匹配
Xaml.XamlXamarinFormsDataTypeAndBindingContextTypeMismatchedHighlighting
resharper_xaml_xaml_xamarin_forms_data_type_and_binding_context_type_mismatched_highlighting_highlighting | 警告 |
意外的元素错误
Xaml.UnexpectedElement
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年 6月 25日