只是好奇XAML编辑器在Visual Studio 2010中自动格式化和包装属性是否更好。
以下是编辑器在VS 2008中自动包装属性的方式:
<StackPanel Grid.Row="0" Grid.ColumnSpan="3">
<StackPanel Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" FontWeight="Bold"
Text="Current User:" />
<ComboBox x:Name="_usersComboBox" Margin="5,0,0,0" Width="200"
ItemsSource="{Binding Users}" SelectedValuePath="Name"
SelectedValue="System Administration">
<ComboBox.ItemTemplate>
<DataTemplate>
以下是我希望编辑器自动换行属性的方法:
<StackPanel Grid.Row="0" Grid.ColumnSpan="3">
<StackPanel Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" FontWeight="Bold"
Text="Current User:" />
<ComboBox x:Name="_usersComboBox" Margin="5,0,0,0" Width="200"
ItemsSource="{Binding Users}" SelectedValuePath="Name"
SelectedValue="System Administration">
<ComboBox.ItemTemplate>
<DataTemplate>
VS 2010是否符合我的愿望?
答案 0 :(得分:8)
有一些接近的东西。
VS2010中的新编辑器支持auto-indent
自动换行模式。没有办法在产品中激活它,但我们团队的PM写了一个快速扩展,启用该模式。您可以download it from the VS Gallery,或者通过名称搜索(“自动换行”应该足够)从VS2010中的扩展管理器下载它,或者搜索编写扩展名的Brittany Behrens。
答案 1 :(得分:6)
不。你应该打开一个Connect:
直到SP1才可能成功,但我发现他们对B2周期中的建议非常敏感。你可能会感到惊讶......
答案 2 :(得分:3)
我刚刚在VS 2010建议论坛上提出request后才发现这个问题。
This video(前20秒应该这样做)显示XAML被重新格式化连续,而它是在没有用户干预的情况下编辑的 - XAML在打字时只是'回流',拖放等
我的建议更进一步,因为我提出了全自动的“虚拟格式化”,使用边距而不是制表符/空格,这意味着自动换行总是像文字处理器一样工作。截图示例显示了这一点 - 前导空格字符(带黄色背景)仅存在于xml:space preserve块中:
自动换行和格式化非常复杂 - 屏幕截图中有一些内容:
RTF包含元素或属性内容的悬挂缩进格式,因此包装的文本将有额外的缩进 - 以明确它的包装(请参阅包装的 entation 值和 margin 和 width 属性)
所有属性彼此对齐
如果属性值包含换行符,则新行将与第一行对齐。
保留预先格式化文本中所需的空格,同时保持缩进不变。
[重要]所有格式化都是在语法着色的同时完成的,基于XAML上下文中换行符的位置。自动换行就像文字处理器一样,因为换行符中包含缩进数据。
如果无法对Visual Studio进行此操作,那么我们可能会先在Kaxaml中看到这一点吗?