Skip to content

MaximillianVoss/source-code-combiner

Repository files navigation

Сборщик кода

WPF-инструмент на C#/.NET Framework 4.8 для сборки исходных файлов проекта в один или несколько выходных файлов.

English summary: a WPF/.NET Framework 4.8 developer tool that combines selected project sources into plain-text or JSON files while preserving relative paths.

Назначение

Приложение помогает собрать код из выбранной папки по расширениям файлов. Это полезно для передачи проекта на ревью, подготовки материалов к лабораторной работе или быстрого формирования текстового архива исходников.

Поддерживаются режимы:

  • сборка всех выбранных файлов в один файл;
  • сборка отдельных файлов по расширениям;
  • plain text или JSON output;
  • подсчет найденных файлов и прогресс выполнения;
  • отмена операции без сохранения частичных output-файлов.

Состав

  • Сборщик кода.sln - решение Visual Studio.
  • Сборщик кода - WPF-приложение с Bootstrap-подобной темой в App.xaml.
  • Сборщик кода.Core - библиотека с поиском файлов, настройками, результатами и прогрессом сборки.
  • Сборщик кода.Тесты - MSTest-проект с unit-тестами Core.

Архитектура

WPF-слой отвечает только за выбор папок, отображение расширений, прогресс и сообщения пользователю. Логика обхода каталогов, нормализация расширений, исключение output-папки, группировка и запись результата находятся в Сборщик кода.Core.

Публичные модели Core:

  • FileCombiner - основной сервис сборки файлов.
  • FileCombineOptions - настройки одной операции.
  • FileCombineResult - итог операции.
  • FileCombineProgress - события прогресса для UI.
  • FileExtensionCount - статистика по расширениям.

Технологии

  • C#
  • .NET Framework 4.8
  • WPF
  • MSTest/legacy Visual Studio test tooling

Сборка

Открыть Сборщик кода.sln в Visual Studio с поддержкой .NET Framework 4.8 и восстановить NuGet-пакеты при необходимости.

Проверенная CLI-сборка для Visual Studio Community 2026:

& "C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe" "Сборщик кода.sln" /restore /t:Rebuild /p:Configuration=Debug /p:Platform="Any CPU"

Запуск тестов:

& "C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "Сборщик кода.Тесты\bin\Debug\Сборщик кода.Тесты.dll"

Обычный dotnet build для этого legacy WPF/.NET Framework проекта не является основной проверкой: XAML корректно собирается через полный Visual Studio MSBuild.

Сохранение истории

  • исходный HEAD до этого рефакторинга: 0be5be9c63335a29e4976eabbd7f1315b1cfb038;
  • состояние закреплено тегом original-local-state-2024;
  • прежняя вложенная копия Base-CSharp не была просто удалена: ее уникальная история опубликована в MaximillianVoss/csharp-code-samples как ветка preservation/source-code-combiner-base-2024;
  • исходные даты файлов дополнительно хранятся в манифестах аудита рабочей папки.

Статус

Активный учебно-прикладной инструмент. Core отделен от WPF, output записывается атомарно, рекурсивный обход не следует по junction/symlink-каталогам, а основные режимы покрыты unit-тестами.

About

RU: WPF-инструмент для сборки исходных файлов проекта в text/json. EN: a WPF tool for combining project source files into text/JSON.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages