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

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

【问题讨论】:

  • 如果您使用的是 Visual Studio,那么您只需打开自动换行(编辑/高级/自动换行)。这有帮助吗?

标签: vb.net reformat


【解决方案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
    

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

    【讨论】:

      猜你喜欢
      • 2020-04-09
      • 2010-09-06
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 2011-04-20
      相关资源
      最近更新 更多