Visual Studio: 覆盖 "Smart" 仅缩进少数特定行

Visual Studio: Override "Smart" indenting only for a few specific lines

我正在 Visual Studio 中编写一些 vb.net 代码。我打开了智能缩进,我想保持打开状态。但是,在我的代码的一部分中,我想使用一些额外的缩进以更易于阅读的方式概述内容。我可以切换到我想要的缩进级别,但只要我换到另一行,智能缩进就会将该行重新回到 "should" 所在的位置。

如何在不完全禁用智能缩进的情况下向代码中的某些行添加一些额外的缩进?


我想要它的方式:

Call GetRibbon("Part")
     Call GetTab("3D Model")
          Call NewButton("Custom1")
Call GetRibbon("Assembly")
     Call GetTab("Assemble")
          Call NewButton("Custom2")

VS 如何格式化它:

Call GetRibbon("Part")
Call GetTab("3D Model")
Call NewButton("Custom1")
Call GetRibbon("Assembly")
Call GetTab("Assemble")
Call NewButton("Custom2")

不,如果它在 IDE 中对您的语言有效,则无法 override/cancel 智能选项卡逻辑(它在您的语言的选项卡选项中设置——转到IDE 的工具 | 选项菜单可以看到它)。

我认为最好的选择是在应用 "smart" 逻辑后立即按 Ctrl-Z。这将恢复您想要的缩进。

抱歉,Call 关键字是 .NET 之前的 Visual Basic 遗留的,在 .NET 中调用子例程不需要。以下将更加简洁和重要:

GetRibbon("Part")
GetTab("3D Model")
NewButton("Custom1")
GetRibbon("Assembly")
GetTab("Assemble")
NewButton("Custom2") ' btw this can also be indented as in Jazimov's answer

但是,粘贴那些重复的代码让我感到厌烦,以至于我建议这样做

Sub Initialize(p1 As String, p2 As String, p3 As String)
    GetRibbon(p1)
    GetTab(p2)
    NewButton(p3)
End Sub

...

Initialize("Part", "3D Model", "Custom1")
Initialize("Assembly", "Assemble", "Custom2")

到那时,缩进可能是不必要的

您可以看到 Call 仍然适用于一些 hacky 方式来完成类似 C# 的操作:https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference//statements/call-statement