Инструмент для переформатирования VB.Чистый код - в частности, разрывы строк
Вопрос
Доступны ли какие-либо инструменты для автоматического форматирования 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.Я не добавлял код для восстановления исходного ввода.