Visual studio VisualStudioXAML编辑器中令人无法忍受的文字换行-2010年有什么缓解措施吗?

Visual studio VisualStudioXAML编辑器中令人无法忍受的文字换行-2010年有什么缓解措施吗?,visual-studio,visual-studio-2008,xaml,visual-studio-2010,Visual Studio,Visual Studio 2008,Xaml,Visual Studio 2010,只是好奇XAML编辑器在VisualStudio2010中是否更擅长自动格式化和包装属性 以下是编辑器在VS 2008中自动包装属性的方式: <StackPanel Grid.Row="0" Grid.ColumnSpan="3"> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" FontWeight="Bold" Text="Curren

只是好奇XAML编辑器在VisualStudio2010中是否更擅长自动格式化和包装属性

以下是编辑器在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>

以下是我希望编辑器自动包装属性的方式:

<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是否实现了我的愿望?否。您应该为此打开一个连接:


可能要到SP1才能成功,但我发现他们在B2周期中对建议反应非常积极。你可能会感到惊讶……

这有点类似


VS2010中的新编辑器支持换行模式。没有办法在产品中激活它,但是我们团队的一位PM编写了一个快速扩展来启用该模式。您可以,也可以从VS2010中的扩展管理器下载它,方法是按名称搜索(“word wrap”应该足够了),或者搜索编写扩展的Brittany Behrens。

我在VS2010建议论坛上发表了一篇文章后,才发现这个问题

(前20秒应该可以)显示XAML在无需用户干预的情况下不断重新格式化-XAML在键入、拖放等过程中只是“回流”

我的建议更进一步,因为我建议使用完全自动化的“虚拟格式”,使用边距而不是制表符/空格,这意味着换行符将始终像在字处理器中一样工作。示例屏幕截图显示了这一点-前导空格字符(黄色背景)仅存在于xml:space-preserve块中:

换行和格式化相当复杂-屏幕截图中出现了一些情况:

  • RTF包含元素或属性内容的挂起缩进格式,因此包装的文本将有额外的缩进,以明确其已包装(请参见包装的缩进值、边距和宽度属性)

  • 所有属性都彼此对齐

  • 如果属性值具有换行符,则新行将与第一行对齐

  • 保留预格式化文本中所需的空白,同时保持缩进完整

  • [重要信息]根据换行符在XAML上下文中的位置,所有格式设置与语法着色同时进行。由于换行符中包含缩进数据,所以换行符的工作方式与文字处理器类似


  • 如果Visual Studio不能做到这一点,那么也许我们可以先在?

    中看到这一点:谢谢,Noah。我还没有VS 2010,但我得到它后一定会尝试。为什么这需要一个附加组件,而不是默认的,这是完全无法解释的。@romkyns-除其他原因外,(1)它没有达到海报的要求(缩进一个额外的级别),(2)通常是实验性的,未经测试,以及(3)这样做是有成本的,因此其他一些功能或bug修复将不得不放弃;这根本没用。实现Word Wrap但不实现这有点浪费时间。似乎不想在VS 2010 Express中安装。:-)那肯定很好+1.