复制粘贴xaml auto-indents中的东西?

时间:2014-08-28 15:54:25

标签: wpf visual-studio-2010 xaml

这已经困扰了我一段时间,我不确定它是否可以关闭或不关闭,但每当我在VS 2010中复制并粘贴xaml中的内容时,它总是自动缩进因为某些原因,我所处的线路往往是它之后的线路。例如,假设我有这些xaml代码行:

                                <TextBlock VerticalAlignment="Top" Foreground="Red" FontSize="11" Width="5"
                                    Text="*" Visibility="{Binding Path=ShowInvalidFlag,UpdateSourceTrigger=PropertyChanged}" />

                                <TextBlock Width="Auto" Background="Transparent" Text="{Binding Path=QuestionValue}" />

然后我意识到第一个TextBlock需要Margin定义,我从同一个xaml文档中的另一个控件复制Margin="0,1,0,0"并将其粘贴到上面{{1}的声明中1}}它自动缩进,我最终得到这个:

TextBlock

为什么这样做?它甚至不必从相同的xaml文件甚至xaml代码中复制(我只是尝试从文本文件中复制随机文本并将其粘贴到控件中并且它仍然自动缩进)。每次我在xaml中粘贴一些内容时,我都需要重新调整缩进,这是非常令人沮丧的。

1 个答案:

答案 0 :(得分:2)

从评论转换:

如果您在VS中的选项中搜索,您应该能够在文本编辑器和Xaml下找到缩进选项。默认情况下,它设置为“智能”,并不总是像您希望的那样聪明。玩弄它,看看它对你来说是否更舒服。复制/粘贴似乎特别容易绊倒它。

此外,您还可以随时“编辑” - &gt; “高级”,然后“格式化文档”或“格式选择”,以强制Visual Studio在格式化时接受另一次传递,这可能会修复或更糟糕地解决您的问题。

我认为问题是它试图在速度和正确性之间进行优化。当你粘贴某些内容时,它可能不会考虑你粘贴的整个上下文,而只是查看直接的父和/或兄弟姐妹,当你粘贴一大堆东西时这是一个问题。