XAML Styler是什么?
XAML Styler 是一款用于 Visual Studio 的插件,能够自动格式化 XAML 代码,帮助开发者保持代码的整洁和一致性。它支持自定义配置,可以根据个人或团队的代码规范进行调整,从而提升开发效率和代码可读性。
Settings.XamlStyler文件的作用?
Settings.XamlStyler 文件是 XAML Styler 插件的配置文件,用于定义 XAML 代码的格式化规则。将该文件放置在 Visual Studio 的项目根目录下,插件会自动读取并应用其中的设置。你可以根据需要修改文件中的配置项,以满足你的代码风格要求。保存文件后,XAML Styler 会按照新的规则对 XAML 代码进行格式化,确保代码风格统一且符合规范。
Settings.XamlStyler文件的使用步骤:
- 下载并安装 XAML Styler 插件:在 Visual Studio 中,通过扩展商店搜索并安装 XAML Styler 插件。
- 创建或修改
Settings.XamlStyler文件:在项目根目录下创建或修改Settings.XamlStyler文件,根据需要调整其中的格式化规则。 - 保存并应用设置:保存
Settings.XamlStyler文件后,XAML Styler 插件会自动读取并应用这些设置,对 XAML 代码进行格式化。 - 格式化代码:打开 XAML 文件,通过右键菜单选择“格式化文档”,或者在保存文件时自动应用格式化(如果启用了“保存时自动格式化”选项)。
上干货!(使用效果已测试)
JSON代码片段
{
// 缩进与格式化
"IndentSize": 4,
"IndentWithTabs": false,
"AttributeIndentation": 0, // 属性缩进(0=4空格)
"AttributeIndentationStyle": 1, // 强制使用空格缩进
"SpaceBeforeClosingSlash": true, // 自闭合标签斜杠前加空格:<Tag />
"SpaceBeforeColon": false, // 类型转换前加空格:<Tag Property="Value"/>
"SpaceAfterColon": false, // 类型转换后加空格:<Tag Property=" Value"/>
"SpaceBeforeSemicolon": false, // 属性值前加空格:<Tag Property=" Value"/>
"SpaceAfterSemicolon": false, // 属性值后加空格:<Tag Property="Value "/>
// 属性换行规则
"AttributesTolerance": 9, // 超过3个属性则换行
"MaxAttributesPerLine": 3, // 每行最多3个属性
"MaxAttributeCharactersPerLine": 80,// 属性行最大长度
"KeepFirstAttributeOnSameLine": true, // 首个属性与标签同行
"PutEndingBracketOnNewLine": false, // 闭合标签不单独成行
"RemoveEndingTagOfEmptyElement": true, // 空元素自动闭合:<Tag />
// 属性分组与排序
"EnableAttributeReordering": true,
"OrderAttributesByName": false, // 不按字母排序,按分组排序
"SeparateByGroups": true, // 按逻辑分组换行
"FirstLineAttributes": "x:Name,Name,x:Key,Key,Grid.Row,Grid.Column", // 重要属性优先
// 属性排序规则(WPF推荐顺序)
"AttributeOrderingRuleGroups": [
"x:Class",
"xmlns, xmlns:x",
"xmlns:*",
"x:Key, Key, x:Name, Name, x:Uid, Uid, Title",
"Grid.Row, Grid.RowSpan, Grid.Column, Grid.ColumnSpan, Canvas.Left, Canvas.Top",
"Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight",
"Text,Margin, Padding, HorizontalAlignment, VerticalAlignment",
"*:*, *",
"PageSource, PageIndex, Offset, Color, TargetName, Property, Value",
"mc:Ignorable, d:IsDataSource, d:LayoutOverrides",
"Storyboard.*, From, To, Duration",
"TargetType, BasedOn"
],
// 特殊元素处理
"NewlineExemptionElements": "Setter, Trigger, Condition, GradientStop", // 简单元素不分行
"ReorderSetters": 3, // Setter按目标+属性名排序
"ReorderVSM": 2, // VisualStateManager移到末尾
"ReorderGridChildren": false, // 不自动排序Grid子元素
"ReorderCanvasChildren": false,
// 标记扩展格式化
"FormatMarkupExtension": true,
"NoNewLineMarkupExtensions": "x:Bind, Binding, StaticResource", // 常用扩展保持一行
// Thickness类型处理
"ThicknessSeparator": 2, // 用逗号分隔Margin/Padding值
"ThicknessAttributes": "Margin, Padding, BorderThickness",
// 其他
"RemoveDesignTimeReferences": false,
"IgnoreDesignTimeReferencePrefix": false,
"CommentPadding": 2, // 注释前后空格
"FormatOnSave": true // 保存时自动格式化
}
2919




被折叠的 条评论
为什么被折叠?



