使用 Xaml Styler 的经验?

问题描述 投票:0回答:5

我刚刚找到了 Xaml Styler,我想尝试一下。有人可以分享一些使用这个工具的经验吗?值得一试吗?在大型团队中使用它有什么缺点吗?

谢谢!

wpf silverlight xaml windows-phone-7
5个回答
5
投票

我每天都在使用它,它非常棒。这绝对值得一试,而且我没有看到任何缺点。

如果您选择从默认设置转移,请确保每个人都具有相同的设置。


1
投票

我非常喜欢 XAML Styler。尽管源代码控制问题确实发生了。如果你美化一个 XAML 文档,如果你做的时候它真的很丑的话,这可能意味着 1800 行的改变。如果您的团队成员也对其进行了检查,那么他们必须解决 1800 行更改。因此,我建议您在团队环境中谨慎选择何时以及使用哪些文件执行此操作。

技巧:当XAML页面是当前选项卡并且您点击[保存]时,它会美化XAML页面。
如果您不想美化页面,请切换到其他选项卡并选择[全部保存]。 当其他团队成员签出相同的文档时,我就是这样做的。如果我是唯一的一个,那么我会进行正常的保存以使其美观,然后尽快检查。


0
投票

使用这个工具一段时间后,我不得不说我不推荐它,因为:

  1. 属性定义顺序很重要,因此当 XAML 页面“美化”时,行为可能会改变。该工具不提供排除属性排序的设置。以下是有关此问题的更多信息:Silverlight XAML 属性定义顺序很重要
  2. 源代码控制冲突实际上是一种痛苦,并且没有办法“强迫”团队成员使用该工具。例如,如果在保存文件时对 XAML 文件进行样式设置,那就太好了。

希望它对某人有帮助!


0
投票

我最近开始使用这个工具——而且我是它的忠实粉丝——但有一件事真的让我很恼火:每当你点击“保存”时,它就会自动格式化所有内容。我喜欢在 VS 中使用行号旁边的绿色编辑标记来跟踪我在大文件中的位置。每当我点击“保存”时,整个文件就会变成绿色。

所以专业提示,如果您在“工具”>“选项”>“XAML 样式器”中关闭“保存时设置 XAML 格式”,则当您不再需要编辑标记时,只需右键单击文件并选择格式即可。


0
投票

我强烈建议您对 XAML Styler 使用以下配置:

  1. 下载 VS 2022 的 Xaml Styler 扩展 https://marketplace.visualstudio.com/items?itemName=TeamXavalon.XAMLStyler

  2. 将下面的代码保存在名为 Settings.XamlStyler 的文件中,并将其放在解决方案 (.sln) 文件的同一文件夹中。

    {
        "AttributesTolerance": 1,
        "KeepFirstAttributeOnSameLine": true,
        "MaxAttributeCharactersPerLine": 0,
        "MaxAttributesPerLine": 1,
        "NewlineExemptionElements": "RadialGradientBrush, GradientStop, LinearGradientBrush, ScaleTransform, SkewTransform, RotateTransform, TranslateTransform, Trigger, Condition, Setter",
        "SeparateByGroups": false,
        "AttributeIndentation": 0,
        "AttributeIndentationStyle": 0,
        "RemoveDesignTimeReferences":  false,
        "IgnoreDesignTimeReferencePrefix": false,
        "EnableAttributeReordering": true,
        "FirstLineAttributes": "x:Class, Grid.Row, Grid.Column, Grid.RowSpan, Grid.ColumnSpan, DockPanel.Dock, Orientation",
        "AttributeOrderingRuleGroups": [
            "d:DataContext",
            "xmlns, xmlns:x",
            "xmlns:*",
            "x:Key, Key, x:Name, Name, x:Uid, Uid, Title",
            "x:Class, Grid.Row, Grid.Column, Grid.RowSpan, Grid.ColumnSpan, DockPanel.Dock, Orientation",
            "Canvas.Left, Canvas.Top, Canvas.Right, Canvas.Bottom",
            "DataContext, Text, Content, Source, Command, CommandParameter, ItemSource, ItemsSource",
            "DisplayMemberPath, SelectedItem, SelectedValue, SelectedIndex",
            "Margin, Padding, HorizontalAlignment, VerticalAlignment, HorizontalContentAlignment, VerticalContentAlignment, Panel.ZIndex",
            "Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight",
            "UpImageSource, DownImageSource",
            "IsEnabled, Visibility",
            "*:*, *",
            "PageSource, PageIndex, Offset, Color, TargetName, Property, Value, StartPoint, EndPoint",
            "mc:Ignorable, d:IsDataSource, d:LayoutOverrides, d:IsStaticText",
            "Storyboard.*, From, To, Duration"
        ],
        "OrderAttributesByName": true,
        "PutEndingBracketOnNewLine": false,
        "RemoveEndingTagOfEmptyElement": true,
        "SpaceBeforeClosingSlash": true,
        "RootElementLineBreakRule": 0,
        "ReorderVSM": 1,
        "ReorderGridChildren": false,
        "ReorderCanvasChildren": false,
        "ReorderSetters": 3,
        "FormatMarkupExtension": false,
        "NoNewLineElements": "RadialGradientBrush, GradientStop, LinearGradientBrush, ScaleTransform, SkewTransform, RotateTransform, TranslateTransform, Trigger, Condition, Setter, Style",
        "NoNewLineMarkupExtensions": "x:Bind, Binding",
        "ThicknessSeparator": 2,
        "ThicknessAttributes": "Margin, Padding, BorderThickness, ThumbnailClipMargin",
        "PutAttributeOrderRuleGroupsOnSeparateLines": false,
        "FormatOnSave": true,
        "CommentPadding": 2,
        "SaveAndCloseOnFormat": true }
  1. 右键单击 Xaml 文件或整个项目,然后单击“格式化 XAML”以正确设置文件格式。

此配置还将在保存时自动格式化任何 xaml 文件。

它还适用于 .NET MAUI,可能还适用于 UWP 和 WinUI。

© www.soinside.com 2019 - 2024. All rights reserved.