Инструмент для переформатирования VB.Чистый код - в частности, разрывы строк

StackOverflow https://stackoverflow.com/questions/2011119

  •  18-09-2019
  •  | 
  •  

Вопрос

Доступны ли какие-либо инструменты для автоматического форматирования vb.net кода - в частности, для добавления разрывов строк с заранее определенной длиной строки?Я работаю с большим количеством кода с длинными строками (тысячи строк), и ручное его переформатирование отнимает довольно много времени.Я видел несколько инструментов для перегруппировки кода по регионам и т.д., но не нашел ни одного, который переформатировал бы с разрывами строк.Бесплатно было бы здорово.

Это было полезно?

Решение

Попробуйте, чтобы VS автоматически переносил ваши строки.Опция должна быть в Сервисах | Параметрах | Основных | Настройках | Перенос слов.

Еще одна вещь, которую нужно сделать, это перейти к пункту меню Edit | Advanced | Format Document, который помогает разобраться с неправильно сформированными документами.

Третий вариант - установить дополнение Code Rush Xpress от DevExpress, которое добавляет очень удобные вертикальные линии, обозначающие начало и конец блоков кода, а также помогает в рефакторинге кода.Вы можете получить его отсюда: http://devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/.Это бесплатно, но не поддерживает экспресс-версии Visual Studio.

Другие советы

Используйте Visual Studio 2008, вам нужно использовать Ctrl + A + K + F для форматирования кода C#, vb.

Я знаю, что это было опубликовано очень давно.Но если у кого-то была такая же проблема, попробуйте этот саб, который я сделал.Подпрограмма будет иметь два вывода (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

P.S.Я не добавлял код для восстановления исходного ввода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top