Существуют ли какие-либо инструменты для автоматического форматирования кода vb.net, особенно для добавления разрывов строк при заданной длине строки? Я работаю с большим количеством кода с длинными строками (тысячи строк), и его ручное переформатирование занимает довольно много времени. Я видел несколько инструментов для перераспределения кода по регионам и т. Д., Но не нашел ни одного, который бы переформатировался с разрывами строк. Бесплатно было бы здорово.
Инструмент для переформатирования кода VB.Net, особенно разрывов строк
Ответы (3)
Попробуйте сделать так, чтобы VS автоматически переносил ваши строки. Опция должна быть в Инструменты | Опции | Базовый | Настройки | Перенос слова.
Еще одна вещь, которую нужно сделать, это перейти к Edit | Расширенный | Параметр меню «Формат документа», который помогает очистить воздух от плохо сформированных документов.
Третий вариант — установить надстройку DevExpress Code Rush Xpress, которая добавляет очень удобные вертикальные линии, обозначающие начало и конец блоков кода, а также помогает в рефакторинге кода. Вы можете получить его здесь: http://devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/. Это бесплатно, но не поддерживает выпуски Visual Studio Express.
Используйте Visual Studio 2008, вы должны использовать Ctrl + A + K + F для форматирования кода С#, 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. Я не добавлял код для восстановления исходного ввода.