【发布时间】:2012-06-16 11:38:47
【问题描述】:
当我尝试使用 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+空格。它会在您的光标之前插入空格以将其填充,但它也会在您的光标之后添加相同数量的空格,这是不正确的。
有谁知道是什么导致了最初生成的空白?也许我可能配置错了哪些设置?
【问题讨论】:
-
当你说导致“这个”时,你的意思是哪一点 - 大量的空白开始,或者当你替换
;时重新格式化? -
@AakashM 我的意思是一开始就有很多空白。可能导致我的小车移动到视觉边界之外。
-
我认为,如果您准确描述您所做的按键操作以及空格出现的时间,这将有所帮助。如果您还没有,请检查bugtracker。
-
@AakashM 我没想过将此识别为错误。我将使用击键更新问题并调查 bugtracker。
-
我可以使用 Resharper 5.1 和 VS2008 重现您的问题。例如,如果您将光标放在左大括号之后的缩进位置(在空行上,您可以将光标放在行的最开头或 Resharper/VS 认为您应该使用的缩进级别)并按 CTRL +Space、CTRL+ALT+Space 或 SHIFT+ALT+Space,它会在光标前插入空格以填充它,但它也会在光标后添加相同数量的空格,这是不正确的。
标签: c# resharper object-initializer