我在这里做了一些搜索,我很惊讶没有人问过这个问题。Visual Studio 2010 的 VB 智能缩进对于多行语句是否严重损坏?还是我做/设置不正确?我将其设置为 4 个字符的缩进并带有制表符。在 VB 中键入具有自然返回的多行语句会产生以下结果(更改了属性名称以保护无辜者)。
Public Sub Sub1()
Dim foo As New MyClassA With {.FileName = "test",
.Format = MyEnumForImageFormat.jpg,
.IsReallySpecial = False,
.Name = "testN",
.SourceId = Guid.NewGuid(),
.VariantName = "TestV",
.Width = 800,
.Height = 600}
End Sub
怎么会有人想以这种方式格式化他们的代码?我想,也许我需要重新格式化(Ctrl+K Ctrl+D):
Public Sub Sub1()
Dim foo As New ImageBase With {.FileName = "test",
.Format = MyEnumForImageFormat.jpg,
.IsReallySpecial = False,
.Name = "testN",
.SourceId = Guid.NewGuid(),
.VariantName = "TestV",
.Width = 800,
.Height = 600}
End Sub
为了更好地衡量,我再次尝试重新格式化。瞧,它把它推得更远了。我又推了一下,它又动了一些。最后,经过四次重新格式化,我的代码如下所示:
Public Sub Sub1()
Dim foo As New ImageBase With {.FileName = "test",
.Format = MyEnumForImageFormat.jpg,
.IsReallySpecial = False,
.Name = "testN",
.SourceId = Guid.NewGuid(),
.VariantName = "TestV",
.Width = 800,
.Height = 600}
End Sub
更好,但我们真的想要只缩进一个空格的连续行吗?为什么我必须重新格式化四次才能得到我想要的?最重要的是,尝试在上面再添加一个属性定义不会保持任何对齐 - 默认缩进是通过随机确定数量的空格和制表符将偏移量级联到右侧。
使用旧式延续字符没有帮助。我怎样才能有任何程度的理智的智能缩进?