Dot-Net
有沒有辦法在文本文件中自動縮進 VB.NET 程式碼
我想正確縮進文本文件中包含的一些 VB.NET 程式碼。有沒有辦法做到這一點?
例如從這個開始:
Public Shared Function CanReachPage(page As String) As Boolean Try Using client = New WebClient() Using stream = client.OpenRead(page) Return True End Using End Using Catch Return False End Try End Function完成這個:
Public Shared Function CanReachPage(page As String) As Boolean Try Using client = New WebClient() Using stream = client.OpenRead(page) Return True End Using End Using Catch Return False End Try End Function到目前為止,我搜尋的所有內容都將我帶到了IndentedTextWriter類,但我發現的唯一範例是手動縮進這樣的行:.NET Console TextWriter that Understandings Indent/Unndent/IndentLevel
額外的功勞:如果可能的話,我還想添加正確的間距:
例如
Dim i As String="Hello"+"GoodBye"->Dim i As String = "Hello" + "GoodBye"
如果您使用的是 Visual Studio(我目前正在查看 VS 2010;我不知道早期版本做了什麼),那麼您可以轉到 Edit->Advanced->Format Document ,它應該會處理你的縮進和間距。
請注意,這適用於 Visual Studio 理解的任何類型的文件。我經常使用這個技巧將 XML 文件格式化為清晰易讀的內容。
如果您可以使用預發佈軟體,您可以使用Roslyn:
Dim parsed = Syntax.ParseCompilationUnit(text) Dim normalized = parsed.NormalizeWhitespace() Console.WriteLine(normalized)