Advertisement
TimmyChannel

C# Code listing generator

Dec 28th, 2023 (edited)
604
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.25 KB | Software | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. class Program
  7. {
  8.     static void Main()
  9.     {
  10.         StringBuilder header = new StringBuilder("***********************************");
  11.         header.AppendLine();
  12.  
  13.         string rootPath = @"Path to project";
  14.         var files = Directory.GetFiles(rootPath, "*.cs", SearchOption.AllDirectories);
  15.  
  16.         var result = files.Select(path => new { Name = Path.GetFileName(path), Contents = File.ReadAllText(path) })
  17.                           .Where(info => !info.Contents.Contains("<auto-generated>") && !info.Contents.Contains("<autogenerated />")
  18.                           && !info.Contents.Contains("<auto-generated/>"))
  19.                           .Select(info =>
  20.                               header.ToString()
  21.                               + "Filename: " + info.Name + Environment.NewLine
  22.                               + header.ToString()
  23.                               + info.Contents);
  24.  
  25.         StringBuilder singleStr = new StringBuilder();
  26.         singleStr.AppendLine(string.Join(Environment.NewLine, result));
  27.  
  28.         Console.WriteLine(singleStr.ToString());
  29.         File.WriteAllText(Path.Combine(rootPath, "output.txt"), singleStr.ToString(), Encoding.UTF8);
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement