PUBLIC WORK / CODE JANITOR

Kod bez śmieci.

Code Janitor to niezależnie rozwijana rodzina rozszerzeń dla Visual Studio i VS Code. Powstała po to, żeby usuwać powtarzalny bałagan z kodu C#, modernizować składnię i utrzymywać spójne zasady bez ręcznego polowania na drobiazgi.

PLATFORMA
Visual Studio · VS Code
JĘZYK
C#
LICENCJA
LGPL-3.0

Po co to istnieje?

Duże repozytoria C# nie psują się wyłącznie przez duże błędy. Z czasem odkładają się drobne niespójności: whitespace, usingi w złej kolejności, stare konstrukcje składniowe, brak jawnych modyfikatorów, regiony, nieuporządkowane namespace'y i brak dokumentacji. Każda pojedyncza rzecz jest banalna, ale ręczne poprawianie tysięcy takich przypadków zabiera czas i zwykle nie jest robione konsekwentnie.

Code Janitor automatyzuje ten powtarzalny etap pracy. Zamiast traktować cleanup jako jednorazowe sprzątanie przed review, można ustalić reguły, wybrać zakres i dostać przewidywalny zestaw zmian do sprawdzenia.

Projekt jest niezależnie rozwijaną kontynuacją kodu wywodzącego się z CodeMaid. Zachowuje sprawdzone możliwości oryginału, a równocześnie rozwija je pod współczesne Visual Studio, .NET, Razor i sposób pracy zespołów.

Dwa środowiska, dwa zestawy możliwości.

IMPLEMENTACJA

Visual Studio

GitHub ↗

Pełny zestaw narzędzi do czyszczenia, organizowania i nawigowania po kodzie w Visual Studio.

  • normalizacja whitespace, formatowanie Visual Studio oraz organizowanie i sortowanie usingów
  • jawne modyfikatory dostępu, porządkowanie namespace'ów i usuwanie niepotrzebnych regionów
  • reorganizacja członków, sortowanie i łączenie kodu oraz wizualizacja hierarchii
  • nawigacja: aktywny plik w Solution Explorer, powiązane pliki i rekursywne zwijanie drzewa
  • bezpieczne formatowanie Razor/Blazor, w tym bloki if/else, pętle, switch oraz try/catch/finally
  • podgląd deterministycznych zmian C# jako natywny diff, z wyborem plików i reguł przed zastosowaniem
  • opcjonalna dokumentacja XML wspomagana przez AI z zakresem, filtrami, limitami i jawną kontrolą
  • polityka repozytorium w .codejanitor / .code-janitor.json oraz synchronizacja ustawień z repozytorium

Rozwijana kompatybilność Visual Studio 2022 i 2026; dokładne wymagania zależą od wydania.

IMPLEMENTACJA

VS Code

GitHub ↗

Lekki, lokalny silnik czyszczenia C# działający bez .NET runtime, z dodatkowymi akcjami AI na żądanie.

  • czyszczenie pojedynczego pliku, zaznaczenia, wielu plików, otwartych plików, zmienionych plików Git lub całego workspace
  • cleanup-on-save dla automatycznego utrzymywania porządku podczas pracy
  • modernizacja składni C#, m.in. var, pattern matching i collection expressions
  • generowanie i usuwanie XML documentation, poprawianie namespace'ów, komentarzy i regionów
  • Split Top-Level Types — rozdzielanie klas, interfejsów, rekordów, enumów i delegatów do osobnych plików
  • polityka repozytorium w .codejanitor z pierwszeństwem jawnych ustawień użytkownika
  • analiza raportów coverage oraz generowanie testów na podstawie wykrytych luk
  • opcjonalne Explain, Review, Refactor i Generate Tests przez GitHub Copilot albo skonfigurowany endpoint OpenAI/Claude-compatible

Działa na Windows, macOS i Linux; podstawowe czyszczenie nie wymaga AI, konta ani sieci.

Wspólna filozofia działania.

Najważniejsze operacje cleanup są deterministyczne i lokalne. Nie potrzebują modelu AI, konta ani wysyłania kodu do zewnętrznego dostawcy. To ma znaczenie szczególnie w repozytoriach, w których kod nie powinien opuszczać środowiska deweloperskiego.

Zakres jest jawny: pojedynczy plik, wybrane pliki, projekt, workspace, pliki zmienione przez Git albo reguła uruchamiana przy zapisie — zależnie od środowiska. Reguły mogą być konfigurowane indywidualnie lub zapisane jako polityka repozytorium.

AI jest dodatkiem, nie warunkiem działania. Tam, gdzie jest używane, pozostaje opt-in i służy do zadań, które rzeczywiście wymagają generowania lub analizy, takich jak XML documentation, review, refaktoryzacja czy generowanie testów.

Kontrola zmian.

Cleanup nie ma zastępować code review. W Visual Studio deterministyczne zmiany C# można podejrzeć jako natywny diff przed zastosowaniem. W VS Code zmiany również powinny być przeglądane, szczególnie przy modernizacji składni, ponieważ silnik nie wykonuje semantycznej analizy Roslyn.

Polityka .codejanitor pozwala zespołowi współdzielić ustawienia. Lokalny developer nadal może świadomie nadpisać politykę ustawieniami użytkownika tam, gdzie dane środowisko tego wymaga.

To narzędzie do utrzymywania kodu w ryzach, a nie mechanizm do bezwarunkowego przepisywania całego rozwiązania.

Pochodzenie i granice projektu.

Code Janitor dla Visual Studio jest forkiem i niezależną kontynuacją CodeMaid. Rozszerzenie VS Code jest osobną implementacją, korzystającą z tej samej idei i polityki cleanup, ale ma własny silnik i własny zestaw funkcji.

Dlatego ta strona opisuje Code Janitor jako jeden projekt i dwa środowiska, ale nie udaje, że oba rozszerzenia mają identyczny zestaw możliwości.