web-dev-qa-db-ja.com

Visual Studio:ソリューション内のすべてのソースファイルを印刷しますか?

ソリューション内のすべての(* .cs)ファイルを一度に印刷する方法はありますか?つまり、各ファイルをクリックしてから印刷を押す必要はありませんか?

21
Dervin Thunk

私が収集したものから 他の場所で尋ねられた同様の質問 、この「機能」はVisualStudioに組み込まれていません。

ただし、次のようになります 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
10

ツリーハガーからの楽しいコメントは別として、VisualStudioソリューションをPDFとして印刷したいとします(後で何をするかは尋ねません)。

VisualStudioを使用している人のために、以前は販売されていた非常に素晴らしいプログラムがありますが、現在はPrettyCode.Print for .NET2.0と呼ばれる無料でダウンロードできます。ダウンロード可能です ここ (会社 廃止 製品)。

VisualStudioプロジェクト(VS2005、VS2008、およびVS2010で動作)を読み込み、さまざまな印刷オプションを使用して選択したファイルを印刷できます。それはかなりまともな仕事をします。

7
Dror Harari

PrettyCode.Print for .NET 2.0(VS2008およびVS2005)は、次の場所からダウンロードできます。 http://pan.baidu.com/wap/shareview?&shareid=3968547697&uk=286220058&dir=%2FSoftz&page=1&num=20&fsid=1117386981714891&third= 私のコンピューターでは、Visual Studio2013で正常に動作します。

1
Djeison