Loading…

O nas Online Formatowanie .env

Spraw, aby Twoje pliki dotenv były czytelne, przewidywalne i bezpieczne do udostępniania. Ten formatownik .env analizuje linie KLUCZ=WARTOŚĆ, porządkuje odstępy, zachowuje komentarze i pomaga ustandaryzować strukturę przed zatwierdzeniem lub wygenerowaniem pozbawionego tajemnic `.env.example` dla współpracowników. Jest kompatybilny z Node `dotenv`, `python-dotenv`, Ruby `dotenv` i większością innych ładowarek w stylu dotenv.

Co Ten Formatownik .env Pomaga Ci Zrobić

  • Normalizuj linie `KLUCZ=WARTOŚĆ`, zachowując komentarze i puste linie dla czytelnego grupowania
  • Czyść odstępy wokół `=` i wartości dla łatwiejszego skanowania i bardziej zwartych różnic w przeglądach
  • Wykrywaj duplikaty kluczy, aby zobaczyć, który faktycznie obowiązuje w czasie działania, zamiast zgadywać
  • Przycinaj końcowe białe znaki i (opcjonalnie) zapewnij końcowy znak nowej linii na końcu pliku za pomocą opcji **Wstaw końcowy znak nowej linii**
  • Zachowuj linie komentarzy (`# ...`) i pozostaw znaki `#` w cudzysłowach wewnątrz wartości nienaruszone
  • Zachowuj symbole zastępcze jak `${VAR}` i sekwencje ucieczki dokładnie tak, jak napisane, bez ich rozwijania
  • Działaj poprawnie z projektami wieloplatformowymi, normalizując układ dla LF/CRLF i unikając niespodzianek z BOM
  • Ułatwiaj tworzenie pozbawionego tajemnic `.env.example` (kopiuj klucze i strukturę, pomijając wartości produkcyjne)
  • Przyjazny edytor: wklej lub wczytaj pliki w stylu `.env`, podglądaj wynik, a następnie skopiuj lub pobierz oczyszczone dane wyjściowe

🔧 Jak Wyczyścić i Sformatować Swój Plik .env for env-formatter

1

1. Wklej lub prześlij swój plik .env

Przeciągnij swój plik `.env` do edytora lub wklej treść bezpośrednio. Narzędzie jest zaprojektowane dla typowych formatów dotenv, takich jak `.env`, `.env.local`, `.env.production`, `.env.test`, `.env.staging`, `.env.example` itp.

2

2. Przejrzyj i dostosuj opcje formatowania

Włącz lub wyłącz dostępne opcje (jak **Wstaw końcowy znak nowej linii**) i zdecyduj, jak chcesz uporządkować klucze i komentarze. Wiele zespołów używa tego kroku do wymuszenia spójnego grupowania — na przykład sekcje `APP_`, `DB_`, `NEXT_PUBLIC_`.

3

3. Podgląd, kopiuj lub pobierz

Przejrzyj oczyszczone wyjście, sprawdź, czy duplikaty i komentarze wyglądają poprawnie, a następnie skopiuj je z powrotem do edytora lub pobierz sformatowany plik `.env`. Użyj znormalizowanej struktury jako podstawy dla `.env.example` lub innych wariantów środowiskowych.

Specyfikacje techniczne

Obsługiwane pliki i typy

Formatowarz obsługuje standardowe pliki konfiguracyjne w stylu dotenv, w tym konwencje popularnych frameworków.

Rozszerzenie / WzorzecTypTypowe zastosowanie
.envKonfiguracja podstawowaDomyślne dla wszystkich środowisk
.env.localNadpisania lokalneSpecyficzne dla maszyny (zwykle ignorowane przez git)
.env.developmentWariant środowiskaUstawienia deweloperskie
.env.productionWariant środowiskaUstawienia wdrożeniowe
.env.testWariant środowiskaCI / testy jednostkowe
.env.stagingWariant środowiskaKonfiguracje stagingowe lub podglądowe
.env.example / .env.sampleSzablonWspółdzielony plik przykładowy bez prawdziwych sekretów
Typy MIMEtext/plain, text/x-dotenv, application/x-envTypowe typy zawartości używane przez edytory i narzędzia

Zasady Parsowania (styl dotenv)

Formatowanie jest zaprojektowane tak, aby być kompatybilne z popularnymi parserami dotenv w różnych językach.

AspektZachowanieUwagi
KluczeWrażliwe na wielkość liter, zazwyczaj `A–Z`, cyfry i `_`UPPER_SNAKE_CASE jest zalecane dla czytelności
PrzypisanieLinie w formacie `KLUCZ=WARTOŚĆ`Spacje wokół `=` i wartości są normalizowane przez formatowanie
KomentarzeLinie zaczynające się od `#``#` wewnątrz wartości w cudzysłowach jest traktowane jako część wartości
CudzysłowyPojedyncze `'…'` lub podwójne `"…"`Sekwencje ucieczki jak `\n` i `\t` są zachowywane wewnątrz podwójnych cudzysłowów
Interpolacja`${VAR}` zachowywane dosłownieNie jest wykonywana ekspansja ani ewaluacja podobna do powłoki
Puste LinieZachowywane, aby utrzymać logiczne sekcjeMożesz nadal ręcznie zwinąć lub pogrupować według potrzeb
DuplikatyWiele linii z tym samym kluczem jest uwidocznianychTypowe zachowanie dotenv: ostatnia wartość wygrywa w czasie wykonania

Normalizacja & Nowe Linie

Formatowanie ma na celu zmniejszenie specyficznego dla platformy szumu w diffach: odstępy wokół `=`, zbędne końcowe spacje i końcowe nowe linie mogą być znormalizowane. Opcja **Wstaw końcową nową linię** zapewnia nową linię EOF, dzięki czemu Git i różne edytory pozostają zsynchronizowane nawet przy różnicach LF/CRLF.

Prywatność & Bezpieczeństwo

Formatowanie jest obsługiwane przez bezpieczny backend dedykowany temu narzędziu i przeznaczone jest wyłącznie do tymczasowego przetwarzania—żadne zewnętrzne API nie są kontaktowane. Jednak najbezpieczniejszą praktyką jest unikanie wklejania produkcyjnych sekretów do narzędzi opartych na przeglądarce: preferuj edycję oczyszczonych plików `.env.example` i przechowuj prawdziwe sekrety w sejfie lub magazynie sekretów CI.

Alternatywy & Fragmenty Wiersza Poleceń

Wolisz terminal? Oto kilka elementów składowych do naśladowania części zachowania tego formatowania przy użyciu popularnych narzędzi CLI.

Linux/macOS

Sortowanie kluczy (podstawowe, ignoruje komentarze/puste linie)

grep -v '^\s*#' .env | grep -v '^\s*$' | sort > sorted.env

Sortuje alfabetycznie linie bez komentarzy, aby klucze konfiguracji były łatwiejsze do skanowania i porównywania.

Wyrównanie do `=` przy użyciu awk

awk -F '=' 'BEGIN{max=0} /^[[:space:]]*#/||NF<2{next} {gsub(/[[:space:]]+$/,"",$1); if(length($1)>max) max=length($1)} END{print max}' .env | xargs -I{} awk -F '=' -v w={} 'BEGIN{OFS="="} /^[[:space:]]*#/||NF<2{print; next} {k=$1; sub(/[[:space:]]+$/,"",k); v=substr($0,index($0,"=")+1); gsub(/^\s+|\s+$/,"",v); printf("% -" w "s = %s\n", k, v)}' .env > aligned.env

Dwuetapowy skrypt awk, który mierzy najszerszy klucz, a następnie wyrównuje wszystkie przypisania `KLUCZ = WARTOŚĆ` do tej szerokości.

Windows (PowerShell)

Sortowanie i usuwanie duplikatów kluczy (zachowaj ostatnią wartość)

(Get-Content .env) | Where-Object {$_ -notmatch '^\s*#' -and $_ -notmatch '^\s*$'} | Group-Object { $_.Split('=')[0].Trim() } -AsHashTable -AsString | ForEach-Object { $_.Value[-1] } | Set-Content cleaned.env

Grupuje linie według klucza i zapisuje tylko ostatnie wystąpienie, odzwierciedlając sposób, w jaki większość ładowarek dotenv rozwiązuje duplikaty.

Node.js (wieloplatformowy)

Minimalny formatownik: parsuj, sortuj, wyrównuj, zapisuj

node -e "const fs=require('fs');const s=fs.readFileSync('.env','utf8');const lines=s.split(/\r?\n/);const kv=[];const others=[];for(const l of lines){if(!l||/^\s*#/.test(l)||!l.includes('=')){others.push(l);continue;}const i=l.indexOf('=');kv.push([l.slice(0,i).trim(),l.slice(i+1).trim()]);}kv.sort((a,b)=>a[0].localeCompare(b[0]));const w=Math.max(...kv.map(([k])=>k.length),0);const out=[...kv.map(([k,v])=>k.padEnd(w)+" = "+v),...others];fs.writeFileSync('formatted.env',out.join('\n'));"

Kompaktowy skrypt Node, który możesz dostosować do dedykowanego formatownika do użytku lokalnego lub w CI.

Typowe przypadki użycia formatownika .env

Gotowość produkcyjna i higiena

  • Wykryj przypadkowe duplikaty kluczy przed wdrożeniem krytycznych usług
  • Normalizuj białe znaki i znaki nowej linii na końcu pliku, aby uniknąć zakłóceń w diffach
  • Ustandaryzuj strukturę przed generowaniem `.env.example` lub szablonów sekretów
# Produkcyjny .env
NODE_ENV=production
API_URL=https://api.example.com
LOG_LEVEL=info

Współpraca zespołowa i onboardowanie

  • Zmniejsz szum w PR poprzez wymuszenie kanonicznego układu .env we wszystkich usługach
  • Zatwierdź czysty `.env.example` zamiast prawdziwych sekretów, aby onboardowanie było bezpieczniejsze
  • Pomóż nowym członkom zespołu szybko zobaczyć wszystkie wymagane klucze konfiguracyjne na pierwszy rzut oka
# .env.example
API_URL=
API_KEY=
DEBUG=false

CI i bramki jakości

  • Dodaj sprawdzenie, aby upewnić się, że żadne duplikaty kluczy nie trafią do gałęzi `main` lub `master`
  • Zakończ buildy z błędem, jeśli pliki `.env` naruszają podstawowe konwencje formatowania lub nazewnictwa
  • Utrzymuj przeglądy konfiguracji skupione na wartościach i semantyce, a nie na szczegółach odstępów

❓ Frequently Asked Questions

Jak obsługiwane są duplikaty kluczy?

Większość ładowarek dotenv traktuje ostatnią wartość dla danego klucza jako obowiązującą. Ten formatownik jest zaprojektowany, aby wyraźnie pokazywać duplikaty kluczy, abyś mógł zdecydować, które wpisy zachować, zamiast cicho wysyłać konfliktową konfigurację.

Czy komentarze i puste linie zostaną zachowane?

Tak. Pełne linie komentarzy są zachowywane, a puste linie pozostają, aby Twoje logiczne grupowanie pozostało czytelne. Nadal możesz ręcznie dostosować odstępy między sekcjami, jeśli wolisz gęstszy lub bardziej kompaktowy układ.

Czy rozwijane są referencje ${VAR}?

Nie. Placeholdery takie jak `${DB_HOST}` są traktowane jako zwykły tekst. Formatownik nie rozwija, nie waliduje ani nie wykonuje referencji środowiskowych, więc masz pełną kontrolę nad tym, jak interpolacja jest obsługiwana w czasie wykonania.

Czy bezpiecznie jest wklejać prawdziwe sekrety?

Formatownik jest zbudowany do przetwarzania danych przejściowo na backendzie tego narzędzia bez kontaktu z zewnętrznymi API. Mimo to najbezpieczniejszą praktyką jest unikanie wklejania produkcyjnych sekretów do jakichkolwiek narzędzi opartych na przeglądarce: zatwierdzaj tylko oczyszczone pliki `.env.example` i polegaj na dedykowanym menedżerze sekretów lub sklepie sekretów CI dla prawdziwych wartości.

A co z problemami CRLF vs LF i BOM?

Niespójne znaki nowej linii i zbłąkane BOM-y UTF-8 często powodują nieestetyczne różnice w diffach i niespodzianki w parsowaniu. Połącz ten formatownik z ustawieniami edytora (na przykład zawsze zapisuj z LF i bez BOM), aby pliki dotenv pozostawały spójne między systemami operacyjnymi i IDE.

Czy to zmienia sposób, w jaki moja aplikacja odczytuje plik środowiskowy?

Nie. Celem jest zachowanie semantyki, jednocześnie ułatwiając czytanie pliku. Klucze, wartości i komentarze pozostają funkcjonalnie takie same, zakładając, że oryginalny plik dotenv był prawidłowy dla twojego ładowacza.

Pro Tips

Best Practice

Nigdy nie commituj prawdziwych sekretów do Gita. Commituj `.env.example` z kluczami i bezpiecznymi wskazówkami, a prawdziwe wartości ładuj ze skarbca, magazynu sekretów CI lub lokalnych nadpisów.

Best Practice

Grupuj klucze według domeny (`APP_`, `DB_`, `NEXT_PUBLIC_`, itp.) i utrzymuj każdą grupę w spójnej kolejności, aby zmniejszyć obciążenie poznawcze dla nowych czytelników.

Best Practice

Wymuszaj jeden kanoniczny styl .env za pomocą haków pre-commit lub kontroli CI, aby nigdy nie musieć dyskutować o odstępach w przeglądach kodu.

Best Practice

Umieszczaj w cudzysłowach wartości zawierające spacje, `#`, `=` lub znaki zarezerwowane przez powłokę, aby uniknąć subtelnych problemów z parsowaniem w różnych implementacjach dotenv.

Additional Resources

Other Tools