在我的团队中,.xaml文件中的代码风格目前不是很一致。我们查看了Visual Studio自动格式化程序,使其将代码格式化为我们喜欢的格式。然而,对于一个选项,我们缺少一个额外的条件。我所说的选项可以在工具-〉选项-〉文本编辑器-〉XAML -〉格式化下找到。
我们希望每个属性都在单独的一行上。最初,我们还希望第一个属性在新的一行上(在标签的开始下面),如下所示:
<MyFooBarButton
Attrib1="a"
Attrib2="b" />
但我们很快意识到,使用这些规则会让只设置一个属性的标签看起来很糟糕,特别是如果嵌套的话:
<MyFooBarButton
Attrib1="a" />
<NestedFoo
Attrib="b" />
<NestedFoo2
Attrib="c" />
因此,我们尝试将第一个属性放置在与开始标签相同的行上。同时仍然保持两个重要规则(每行一个属性,垂直对齐)。在两种情况下看起来都不错:
<MyFooBarButton Attrib1="a"
Attrib2="b" />
<MyFooBarButton Attrib1="a" />
<NestedFoo Attrib="b" />
<NestedFoo2 Attrib="c" />
现在的问题是,Visual Studio似乎缺乏同时拥有这两种功能的条件。
- 如果只设置了一个属性:保持一条线。
- 如果设置了多个属性:将第一个属性放在新行上,每行一个属性,并将它们垂直对齐。
Visual Studio 2008能做到这一点吗?如果不能,ReSharper中的代码格式化程序能做到吗(可能会让它物有所值)?
2条答案
按热度按时间2nbm6dog1#
试试http://xamlstyler.codeplex.com/,如果一个元素只有2个或少于2个属性,这个xaml格式化程序不会把属性分成不同的行,而且,这个格式化程序有能力按照预定义的规则对元素的属性进行排序,这会使你的标记看起来更好。
pkbketx92#
也许这些会对你有所帮助:
http://weblogs.asp.net/fmarguerie/archive/2008/06/07/xaml-markup-formatting-in-visual-studio.aspx
联系我们
http://dimebrain.com/2008/05/automating-read.html
(last在第一个链接下的文本中提到了两个链接)
编辑:我检查了ReSharper中的选项,我找不到任何仅用于XAML格式的选项(有c#,vb.net和XML)
编辑2:我检查了VS中的格式选项,有一些东西似乎正是你需要的。在“间距”中有一个选项“将每个属性放在单独的一行上”,它有一个标题为“将第一个属性放在与开始标签相同的一行上”的复选框。在我看来,它应该做你需要的事情。