Kod bez śmieci.

Code Janitor to dwa niezależnie rozwijane rozszerzenia: dla Visual Studio i dla VS Code. Usuwają powtarzalny bałagan z kodu C#, modernizują składnię i pilnują wspólnych reguł, więc nie trzeba ręcznie polować na drobiazgi.

Platforma
Visual Studio 2026 · 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 zbierają się w nich drobne niespójności: białe znaki, dyrektywy using w złej kolejności, stara składnia, brak jawnych modyfikatorów, regiony, nieuporządkowane przestrzenie nazw i brak dokumentacji. Każda z tych rzeczy jest banalna, ale ręczne poprawianie tysięcy takich miejsc zabiera czas i rzadko jest robione konsekwentnie.

Code Janitor automatyzuje tę powtarzalną część pracy. Zamiast sprzątać raz, tuż przed przeglądem kodu, ustalasz reguły, wybierasz zakres i dostajesz przewidywalny zestaw zmian do sprawdzenia.

Dwa edytory, dwa zestawy funkcji.

Implementacja

Visual Studio

GitHub ↗

Rozszerzenie do czyszczenia, porządkowania i nawigowania po kodzie w Visual Studio 2026. Używa Roslyn, który dostarcza samo Visual Studio, więc czyszczenie widzi kod tak, jak kompilator.

  • normalizacja białych znaków, formatowanie Visual Studio, porządkowanie i sortowanie dyrektyw using; przenoszenie ich do przestrzeni nazw lub poza nią, z rozwiązywaniem nazw przez model semantyczny Roslyn
  • jawne modyfikatory dostępu, naprawa przestrzeni nazw, konwersja do file-scoped namespace (C# 10+) i usuwanie regionów
  • poprawianie diagnostyk z .editorconfig: tylko reguł skonfigurowanych w repozytorium (suggestion, warning, error), za pomocą gotowych poprawek z Visual Studio i analizatorów projektu; błędów kompilatora nie rusza
  • weryfikacja po czyszczeniu: poprawka, która dodałaby błąd kompilacji, jest odrzucana, a nienaprawione diagnostyki trafiają do raportu
  • czyszczenie na żądanie, przy zapisie albo dla wybranego zakresu z jednorazowym oknem opcji; podgląd zmian C# jako natywny diff z wyborem plików i reguł
  • bezpieczne formatowanie Razor/Blazor, w tym @if/@else, pętle, @switch oraz @try/@catch/@finally
  • opcjonalna dokumentacja XML wspomagana przez AI, z jawnym zakresem, filtrami, limitami i bezpiecznymi ustawieniami
  • ustawienia z kolejnością pierwszeństwa .editorconfig → .codejanitor → ustawienia użytkownika; ponad 190 opcji w 21 kategoriach w Tools › Options; eksport i import polityki .codejanitor
  • nawigacja: aktywny plik w Solution Explorer, powiązane pliki, rekursywne zwijanie drzewa, złożoność McCabe

Wymaga Visual Studio 2026 (18.0 lub nowszego; Community, Professional, Enterprise; 64-bit) i .NET Framework 4.7.2. Visual Studio 2022 nie jest wspierane i instalator je odrzuca: rozszerzenie używa Roslyn 5.0, który pojawił się w Visual Studio 2026. Instalacja z pliku .vsix z GitHub Releases.

Implementacja

VS Code

GitHub ↗

Lekki, lokalny silnik czyszczenia C#, który nie potrzebuje środowiska .NET, z opcjonalnymi akcjami AI na żądanie.

  • czyszczenie pojedynczego pliku, zaznaczenia, wielu plików, otwartych plików, plików zmienionych w Git albo całego workspace
  • czyszczenie przy zapisie, żeby porządek utrzymywał się w trakcie pracy
  • modernizacja składni C#, m.in. var, pattern matching i collection expressions
  • generowanie i usuwanie dokumentacji XML, poprawianie przestrzeni nazw, 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; jawne ustawienia użytkownika mają pierwszeństwo
  • analiza raportów pokrycia kodu i generowanie testów dla niepokrytych fragmentów
  • opcjonalne Explain, Review, Refactor i Generate Tests przez GitHub Copilot albo skonfigurowany endpoint zgodny z OpenAI lub Claude

Działa na Windows, macOS i Linux. Podstawowe czyszczenie nie wymaga AI, konta, środowiska .NET ani dostępu do sieci.

Co łączy oba rozszerzenia.

Podstawowe czyszczenie działa lokalnie i za każdym razem daje ten sam wynik. Nie potrzebuje modelu AI ani konta i nie wysyła kodu do zewnętrznego dostawcy, co ma znaczenie w repozytoriach, z których kod nie może wyjść.

Zakres wybierasz sam: pojedynczy plik, wybrane pliki, projekt, workspace, pliki zmienione w Git albo czyszczenie przy zapisie, zależnie od edytora. Reguły można ustawić indywidualnie albo zapisać jako politykę repozytorium.

AI jest opcjonalne i działa dopiero wtedy, gdy je włączysz. Służy do zadań, które wymagają generowania lub analizy: dokumentacji XML, przeglądu kodu, refaktoryzacji i generowania testów.

Kontrola zmian.

Zmiany po czyszczeniu i tak warto przejrzeć. W Visual Studio zmiany C# można obejrzeć jako natywny diff, zanim zostaną zastosowane. W VS Code przegląd jest najważniejszy przy modernizacji składni, bo silnik nie korzysta z analizy semantycznej Roslyn.

Plik .codejanitor pozwala zespołowi współdzielić ustawienia. Każdy programista może je nadpisać własnymi ustawieniami, jeśli jego środowisko tego wymaga.

Skąd pochodzi projekt.

Code Janitor dla Visual Studio to fork i niezależna kontynuacja CodeMaid. Zachowuje to, co w oryginale działało, i rozwija to pod obecne Visual Studio, .NET i Razor.

Rozszerzenie dla VS Code to osobna implementacja. Dzieli z wersją dla Visual Studio ideę i politykę .codejanitor, ale ma własny silnik i inny zestaw funkcji, dlatego listy funkcji wyżej się różnią.