Есть ли инструмент для преобразования многострочного текста для Visual Studio 2008/2005? - PullRequest
4 голосов
/ 25 мая 2010

Существует ли какой-либо инструмент, который преобразует многострочный текст в совместимую многострочную строку для Visual Studio 2008/2005?

Например:

line1
line2
line3
line4

Должен стать:

"line1" & _
"line2" & _
"line3" & _
"line4"

Ответы [ 3 ]

2 голосов
/ 25 мая 2010

Этот вид инструмента определенно относится к категории «сделай сам».Запустите новое приложение Windows Forms.Вставьте код, показанный ниже.Поставьте ярлык программы на рабочий стол.Чтобы использовать его, перетащите файл из проводника на форму.Переключитесь на Visual Studio и введите Ctrl + V.

Public Class Form1
    Public Sub New()
        InitializeComponent()
        Me.AllowDrop = True
    End Sub

    Protected Overrides Sub OnDragEnter(ByVal e As DragEventArgs)
        If e.Data.GetDataPresent("FileDrop") Then e.Effect = DragDropEffects.Copy
    End Sub

    Protected Overrides Sub OnDragDrop(ByVal e As DragEventArgs)
        Dim files = DirectCast(e.Data.GetData("FileDrop", False), String())
        Dim txt As New System.Text.StringBuilder
        Dim lines = System.IO.File.ReadAllLines(files(0))
        For ix As Integer = 0 To lines.Length - 1
            txt.Append("""" + lines(ix).Replace("""", """""") + """")
            If ix < lines.Length - 1 Then txt.AppendLine(" & _")
        Next
        Clipboard.SetText(txt.ToString())
    End Sub
End Class

Лучшая мышеловка - добавить файл в качестве ресурса вместо жесткого кодирования текста.

1 голос
/ 25 мая 2010

Это то, что вы ищете?

    Dim testString As String = "line1" & vbCrLf & _
                               "line2" & vbCrLf & _
                               "line3" & vbCrLf & _
                               "line4"
    Dim allLines() As String = Microsoft.VisualBasic.Strings.Split(testString, vbCrLf)
    Dim strConverter As New System.Text.StringBuilder
    For Each line As String In allLines
        strConverter.Append("""" & line & """").Append(" & _").Append(vbCrLf)
    Next
    If allLines.Length > 0 Then strConverter.Length -= (" & _" & vbCrLf).Length
    Dim convertedString As String = strConverter.ToString
0 голосов
/ 25 мая 2010
...