Инструмент для переформатирования кода VB.Net, особенно разрывов строк

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


person hitch    schedule 06.01.2010    source источник
comment
Если вы используете Visual Studio, вы можете просто включить перенос слов (Edit/Advanced/Word Wrap). Это помогает?   -  person Tarydon    schedule 06.01.2010


Ответы (3)


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

Еще одна вещь, которую нужно сделать, это перейти к Edit | Расширенный | Параметр меню «Формат документа», который помогает очистить воздух от плохо сформированных документов.

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

person ajawad987    schedule 06.01.2010
comment
Не знал о функции автоматического переноса. Это облегчает чтение, но мне нужно постоянное решение - т.е. на самом деле вставлять разрывы строк и символы «_». У меня установлен DevExpress Code Rush, и он мне нравится, и я использовал плагин ClassCleaner, но я не нашел функций разрыва строки. Resharper обладает нужными мне функциями, и сейчас я пробую его пробную версию. Выглядит неплохо, но не соответствует последним критериям... - person hitch; 06.01.2010

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

person Ravia    schedule 06.01.2010

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

person E-r Gabriel Doronila    schedule 21.11.2013