Visual Studio: печать всех исходных файлов в решении? - PullRequest
21 голосов
/ 26 марта 2009

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

Ответы [ 3 ]

10 голосов
/ 26 марта 2009

Из того, что я взял из аналогичный вопрос, заданный в другом месте , эта "функция" не встроена в 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
7 голосов
/ 25 января 2012

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

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

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

1 голос
/ 10 апреля 2015

Вы можете скачать PrettyCode.Print для .NET 2.0 (VS2008 и VS2005) в: http://pan.baidu.com/wap/shareview?&shareid=3968547697&uk=286220058&dir=%2FSoftz&page=1&num=20&fsid=1117386981714891&third=0 На моем компьютере отлично работают с Visual Studio 2013.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...