重新格式化 VB.Net 代码的工具 - 特别是换行符

Posted

技术标签:

【中文标题】重新格式化 VB.Net 代码的工具 - 特别是换行符【英文标题】:Tool to reformat VB.Net code - specifically line breaks 【发布时间】:2011-01-01 22:31:55 【问题描述】:

是否有任何工具可用于自动格式化 vb.net 代码 - 专门用于在预定义的行长度处添加换行符?我正在处理大量长行(数千行)的代码,并且手动重新格式化它非常耗时。我已经看到了许多用于将代码重新排列到区域等中的工具,但还没有发现任何用换行符重新格式化的工具。免费会很棒。

【问题讨论】:

如果您使用的是 Visual Studio,那么您只需打开自动换行(编辑/高级/自动换行)。这有帮助吗? 【参考方案1】:

尝试让 VS 自动换行。该选项应该在工具 |选项 |基本 |设置 |自动换行。

另一件事是转到编辑 |高级 |格式文档菜单选项,有助于清除格式不正确的文档。

第三个选项是安装 DevExpress 的 Code Rush Xpress 插件,它为代码块的开始和结束添加了非常方便的垂直线,还有助于重构代码。你可以从这里得到它:http://devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/。它是免费的,但不支持 Visual Studio 的 Express 版本。

【讨论】:

不知道自动换行功能。使其更易于阅读,但我追求的是永久解决方案 - 即实际插入换行符和“_”字符。我已经安装了 DevExpress Code Rush 并且喜欢它,并且使用了 ClassCleaner 插件,但是我没有找到换行函数。 Resharper 具有我所追求的功能,我现在正在尝试它的试用版。看起来还不错,但是不符合最后一个条件……【参考方案2】:

使用 Visual Studio 2008 你必须使用 Ctrl + A + K + F 来格式化你的 c#、vb 代码

【讨论】:

【参考方案3】:

我知道这是很久以前发布的。但如果有人遇到同样的问题,试试我做的这个子。 sub 将有两个输出(Textbox1 = 带中断的代码,Textbox3 = 单行代码)。

创建两个文本框(名为 Textbox1 和 Textbox3)和一个按钮 (Button1)

创建一个子(命名你想要的)并输入此代码:

Try
            Dim x As String = TextBox1.Text

            x = x.Replace("& """, "")
            x = x.Replace(""" _", "")
            x = x.Replace("""", "")
            x = x.Replace(vbNewLine, "")
            x = x.Replace(vbTab, "")

            While x.Contains("  ")                     '2 spaces.
                x = x.Replace("  ", " ")      'Replace with 1 space.
            End While

            TextBox3.Text = x

            Dim l As Integer = Len(x)
            Dim xlim As Integer = InputBox("Specify the maximum number of characters for each line:", "Line Max", 66)
            Dim ylim As Double = 0

            TextBox1.Text = ""

            ylim = l / xlim

            If Int(ylim) <> ylim Then
                ylim = Int(ylim) + 1
            Else
                ylim = Int(ylim)
            End If

            Dim una As String = "", huli As String = ""
            Dim mynewstring As String = ""
            Dim startin As Integer = 1
            For i = 1 To ylim
                If i = 1 Then
                    una = """"
                Else
                    una = vbTab & "& """
                End If
                If i = ylim Then
                    huli = """"
                Else
                    huli = """ _"
                End If
                mynewstring = mynewstring & una & Strings.Mid(x, startin, xlim) & huli & vbNewLine
                startin += xlim
            Next

            TextBox1.Text = mynewstring

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

附:我没有添加代码来恢复您的原始输入。

【讨论】:

以上是关于重新格式化 VB.Net 代码的工具 - 特别是换行符的主要内容,如果未能解决你的问题,请参考以下文章

C#/VB.NET 实现Word和ODT文档相互转换

vb.net 应用程序重新加载 INI 文件

.NET工具ReSharper:如何帮助Visual Studio用户?

如何将文本重新格式化为不同的模式?

VB.NET转C#代码的工具

在文本框 VB.Net 中格式化和计算数字