使用ReSharper和Object Initializer进行间距

时间:2012-06-13 13:42:32

标签: c# resharper object-initializer

当我尝试使用Object Initializer初始化对象时,ReSharper总是会插入很多空格。

public class Bar
{
    public void Adam()
    {
        var foo = new Foo
                      {
                          First = "yes",
                          Second                              = 
                      };
    }
}

当我在初始化程序之后替换;字符时,我的代码将按以下格式进行格式化:

public class Bar
{
    public void Adam()
    {
        var foo = new Foo
                      {
                          First = "yes",
                          Second = "no"
                      };
    }
}

按照以下步骤重现问题(谢谢Piers Myers):

  • 将光标放在开口大括号后面的缩进位置(在空行上,您可以将光标放在行的最开头或缩进级别,Resharper / VS认为您应该使用)
  • 按CTRL +空格键,CTRL + ALT +空格键或SHIFT + ALT键+空格键。它会在光标之前插入空格来填充它,但它也会在光标后添加相同数量的空格,这是不正确的。

有谁知道导致最初生成的空格的原因是什么?也许我可能配置错误的设置?

1 个答案:

答案 0 :(得分:0)

此问题已在以下安装中得到确认:

  • Resharper 5.1 VS2008(由Piers Myers提供)
  • Resharper 6.1 VS2008(By Me)

但是这些问题似乎已经消失了:

  • Resharper 6.1 VS2010(由Piers Myers提供)
  • Resharper 7.0EAP VS012(由我)

因此,它似乎是ReSharper与VS2008 IDE结合使用的错误。