情况如下。我的任务是将一个旧的VB6代码转换为C#。我正在转换的代码使用了多个命令的单行,这真的很难理解。例如,一行可能包含嵌套的If-Else,其中一些For循环和Select Case都在同一行中,例如:
If control0.Checked = True Then .Seek "=", control0.Tag Else If control1.Checked = True Then .Seek "=", control1.Tag Else If control2.Checked = True Then .Seek "=", control2.Tag Else For i = 0 To 10: Select Case controlMap(i).Checked: Case True: .Seek "=", controlMap(i).Tag: End Select: Next i
所以我的问题是:有没有一种工具可以将这些oneliner转换为格式正确的多行?
现在我可以使用NotePad++或VB6 IDE 读取代码
使用VB更新向导(与Visual Studio 2008捆绑在一起(将其转换为VB.NET,然后可以将其导入到Visual Studio的新版本中。将VB.NET转换为C#会容易得多。
Visual Studio 2013、2015和2017 IDE都支持自动格式化。
您可以使用Notepad++对"Then"或"Else If"进行查找/替换,并将其替换为"Thern"one_answers"Else If"。对"如果结束"和任何其他你想拆散的单行内容也要这样做。
要给Luke G.的答案添加一点,您也可以搜索并替换冒号(:
(,将其替换为新行。这是VB用来分隔单行代码语句的字符。