Lambda表达式缩进不正确

mel*_*okb 6 c# lambda indentation visual-studio-2013

我在Visual Studio 2013中已经有一段时间遇到这个问题.它似乎并不理解如何在错误排列的情况下将缩进规则正确应用于lambda表达式.这是一个简化的例子:

var s = new Action(() =>
   {
   });
Run Code Online (Sandbox Code Playgroud)

在第二行和第三行中,缩进只有3个空格而不是4个(真正的代码示例更多,更大,内部表达式跨越数百行 - 这是我的同事检查的,我正在尝试修复它).我已经尝试了重新格式化代码,文档,重新创建大括号等的每种组合.似乎没有什么工作.它拒绝正确地自动更新缩进.

我通常不打扰它,但它导致内部的所有代码也被1个字符关闭.当我在中间键入线条时,标签/移位+标签标记与上方和下方的线条相差1个字符,我不得不进行调整以重新排列.我能找到的最接近这个问题的是来自2013年的Connect Feedback,据说已修复,但我正在更新4(2014年11月发布)并且仍然遇到问题.

如果没有手动浏览并更新lambda表达式中每一行的缩进,是否有人知道如何快速修复此代码?

Bas*_*Bas 4

公然忽略 Visual Studio 中的问题,并立即提供问题的解决方案。按住alt启用块选择,选择所有行,然后键入一个空格。只是为了说明:

块选择

如果您输入Hello World!,结果将是:

打字后

作为一个“咆哮”:单个 lambda 不应该包含数百行代码,这是一个非常大的可维护性问题。