vb.net – Visual Studio的VB智能缩进和格式文件很疯狂 – 如何
我在这里做了一点搜索,我很惊讶没有人问过这个问题.对于多行语句,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",.Height = 600} End Sub 为了更好的衡量,我再次尝试重新格式化.瞧,它把它推得更远了.我再次推了它,它又动了一些.最后,经过四次重新格式化后,我的代码如下: Public Sub Sub1() Dim foo As New ImageBase With {.FileName = "test",.Height = 600} End Sub 更好,但我们真的希望连续的线条只缩进一个空格吗?为什么我必须重新格式化四次以获得我想要的东西?最重要的是,尝试在上面添加一个属性定义并不保持任何对齐 – 默认缩进是通过随机确定的空格和制表符数量向右级联偏移. 使用旧式的延续字符没有帮助.我怎样才能有任何理智的智能缩进? 解决方法
根据您选择拆分线的确切位置,您会发现自动缩进更好或更差.在你的例子中,我的风格是将开括号和第一个项目带到下一行,之后缩进将表现得更好.
Public Sub Sub1() Dim foo As New MyClassA With {.FileName = "test",.Height = 600} End Sub 不想假设太多,我相信多行语句中每行的缩进由前一行控制.然而,通过这种风格选择,您会发现使用自然回归添加项目以正确定位自己.将任何粘贴片段复制到不同缩进级别的目标时,这仍然会导致缩进问题,但由于返回的位置正确,我手动重置每一行并没有太多问题(重复Down,End,Delete,输入.) 类似的解决方案对于多行lambda函数很有用,但是这些函数比直线多行语句更好.正确定位开启调用会自动纠正整个例程的缩进. 这不是很好,缩进浮动: Public Sub Sub1() Dim a As New Action(Sub() Dim b As Double = 4.0 Dim c As Double = 5.0 Dim d As Double = b * c End Sub) End Sub 这与压头的表现很好: Public Sub Sub1() Dim a As New Action( Sub() Dim b As Double = 4.0 Dim c As Double = 5.0 Dim d As Double = b * c End Sub) End Sub 正如个人风格我更喜欢这些,其他人可能会得到相同的结果与不同的外观. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |