【问题标题】:Is there any tool to convert multiline text for Visual Studio 2008/2005?是否有任何工具可以为 Visual Studio 2008/2005 转换多行文本?
【发布时间】:2023-03-25 14:30:01
【问题描述】:

是否有任何工具可以将多行文本转换为与 Visual Studio 2008/2005 兼容的多行字符串?

例如:

line1
line2
line3
line4

应该变成:

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

【问题讨论】:

    标签: vb.net visual-studio-2008 visual-studio-2005 string


    【解决方案1】:

    这种工具绝对属于自己动手的类别。启动一个新的 Windows 窗体应用程序。粘贴如下所示的代码。在桌面上放置程序的快捷方式。要使用它,请将文件从资源管理器拖到表单上。切换到 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
    

    更好的捕鼠器是将文件添加为资源而不是硬编码文本。

    【讨论】:

    • 你也可以把它做成一个 VS 插件。
    • 欢迎您。连续六个双引号是个人第一次 :)
    【解决方案2】:

    这就是你要找的吗?

        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
    

    【讨论】:

      【解决方案3】:

      VS Macro for Pasting Long Text as String 似乎是完美的解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-03
        • 1970-01-01
        • 2010-12-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多