Подтвердить что ты не робот

Visual Studio: печать всех исходных файлов в решении?

Есть ли способ распечатать все (*.cs) файлы в решении сразу, то есть, не нажимая на каждый из них, а затем ударяя печать?

4b9b3361

Ответ 1

Из того, что я собрал из аналогичный вопрос, заданный в другом месте, эта "функция" не встроена в Visual Studio.

Однако это выглядит как У MSDN есть макрос, который вы можете использовать для печати всего вашего кода; возможно, вы можете использовать это или что-то вроде этого:

Sub PrintItemsInSelectedProject()
    Dim proj As Project
    Dim objProj As Object()

    objProj = DTE.ActiveSolutionProjects
    If objProj.Length = 0 Then
        Exit Sub
    End If
    proj = DTE.ActiveSolutionProjects(0)
    PrintItemsInSelectedProject(proj.ProjectItems)
End Sub

Private Sub PrintItemsInSelectedProject( _
    ByVal projitems As ProjectItems)
    Dim projitem As ProjectItem

    For Each projitem In projitems
        If (IsPrintableFile(projitem) = True) Then
            If (projitem.IsOpen( _
                    EnvDTE.Constants.vsViewKindTextView)) Then
                projitem.Document.PrintOut()
            Else
                Dim doc As Document
                doc = projitem.Open( _
                    EnvDTE.Constants.vsViewKindTextView).Document
                doc.PrintOut()
                doc.Close(vsSaveChanges.vsSaveChangesNo)
            End If
        End If
        PrintItemsInSelectedProject(projitem.ProjectItems)
    Next
End Sub

Function IsPrintableFile( _
        ByVal projItem As ProjectItem) As Boolean
    Dim fileName As String
    Dim extensions As _
        New System.Collections.Specialized.StringCollection
    ' If you add a file to your project that is of 
    ' a type that can be printed, 
    ' then add the extension of that 
    ' file type to this list.
    Dim exts As String() = {".cs", ".vb", _
        ".aspx", ".xsd", ".xml", ".xslt", _
        ".config", ".htm", ".html", ".css", _
        ".js", ".vbs", ".wsf", ".txt", ".cpp", _
        ".c", ".h", ".idl", ".def", ".rgs", ".rc"}

    extensions.AddRange(exts)
    fileName = projItem.FileNames(1)
    Return extensions.Contains( _
        System.IO.Path.GetExtension(fileName).ToLower())
End Function

Ответ 2

Отложив в сторону забавные комментарии от huggers tree, предположим, что вы хотите распечатать решение Visual Studio в формате PDF (и мы не будем спрашивать, что вы будете делать с ним позже).

Для людей, которые используют VisualStudio, есть очень хорошая программа, которая раньше продавалась, но теперь доступна для бесплатной загрузки, называемой PrettyCode.Print для .NET 2.0. Он доступен для загрузки здесь (компания удалила продукт).

Он читает в проекте VisualStudio (работает с VS2005, VS2008 и VS2010) и позволяет печатать несколько файлов с различными параметрами печати. Это довольно приличная работа.