如何区分XAML文件

时间:2018-02-02 14:30:04

标签: git xaml canonicalization

有没有办法区分两个非功能空白区域的xaml文件,即属性后的新行或属性的顺序?

我希望将以下两个xaml片段识别为相同的

Snippet 1

<Button Name="myButton1" Click="myButton1_Clicked"/>

Snippet 2

<Button
    Click="myButton1_Clicked"
    Name="myButton1" />

但元素顺序的差异不应视为相同,即

<StackPanel>
    <Button />
    <TextBox />
</StackPanel>

应与

不同
<StackPanel>
    <TextBox />
    <Button />
</StackPanel>

我使用xmllint研究了xml文件的规范化,但我无法使用xaml文件。当我使用

在我的xaml文件上调用它时,Xmllint只返回错误
xmllint -c14n myfile.xaml > myfile-canocicalized.xaml

在理想的情况下,我希望能够告诉git这个,以便它生成有意义的差异。我知道这可以通过将.gitattribute文件中的diff.textconv设置为规范化xaml文件的程序来实现。

1 个答案:

答案 0 :(得分:1)

这些选项可能会给你想要的结果:git diff -b或git diff --ignore-space-change

因为他们会忽略空格/标签