Generator EditorConfig
Plik .editorconfig w katalogu głównym repozytorium informuje każde nowoczesne IDE, jak ten projekt formatuje swoje pliki, rozstrzygając spór tabulatory kontra spacje plik po pliku. Python: 4 spacje. JavaScript: 2. Makefile: tabulatory (wymagane). Ten generator tworzy .editorconfig na podstawie twoich ustawień formatowania (styl i rozmiar wcięcia, koniec linii, kodowanie, maksymalna długość linii, końcowy znak nowej linii i usuwanie końcowych białych znaków) i zawsze dodaje dwie typowe poprawki: [*.md] zachowuje końcowe białe znaki dla łamań linii w Markdown, a [Makefile] używa tabulatorów, czego wymaga make.
Jak zbudować .editorconfig
-
1
Ustaw globalne wartości domyślne
Kodowanie (domyślnie utf-8), koniec linii (lf kontra crlf), styl i rozmiar wcięcia, maksymalna długość linii, wstawianie końcowego znaku nowej linii, usuwanie końcowych białych znaków.
-
2
Sprawdź wbudowane poprawki
Generator zawsze dodaje `[*.md]` z `trim_trailing_whitespace = false` (Markdown potrzebuje końcowych spacji do łamania linii) oraz `[Makefile]` z `indent_style = tab`, czego wymaga samo make.
-
3
Skopiuj plik
Użyj przycisku kopiowania, aby pobrać wygenerowany `.editorconfig`, i umieść go w katalogu głównym repozytorium.
-
4
Rozbuduj później
Potrzebujesz reguł per język? Dodaj własne sekcje, na przykład `[*.py]` z `indent_size = 4`.
Co robi .editorconfig
Plik o nazwie .editorconfig w katalogu głównym projektu (lub w dowolnym katalogu) deklaruje konwencje formatowania. Edytory z obsługą EditorConfig (każde główne IDE i większość nowoczesnych edytorów tekstu) stosują te reguły przy otwarciu pliku.
Przykładowy wynik
Przy ustawieniach domyślnych (spacje, rozmiar 4, LF, utf-8) generator tworzy:
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
Kluczowe dyrektywy
| Dyrektywa | Przyjmowane wartości | Uwagi |
|---|---|---|
| root | true / false | Ustaw true w katalogu głównym projektu, aby wyszukiwanie się zatrzymało |
| charset | utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le | utf-8 jest domyślne |
| end_of_line | lf, crlf, cr | lf dla wielu platform; crlf dla repozytoriów tylko pod Windows |
| indent_style | space, tab | |
| indent_size | liczba całkowita | Liczba spacji, ignorowana przy tab |
| tab_width | liczba całkowita | Wizualna szerokość tabulatora (domyślnie indent_size) |
| insert_final_newline | true / false | Zapewnia pliki zgodne z POSIX |
| trim_trailing_whitespace | true / false | Wyłącz dla Markdown (końcowe spacje oznaczają łamanie linii) |
Konwencje języków w skrócie
| Język / plik | Konwencja |
|---|---|
| JS, TS, JSON | 2 spacje |
| HTML, CSS, YAML | 2 spacje |
| Python | 4 spacje (PEP 8) |
| PHP | 4 spacje (PSR-12) |
| Ruby | 2 spacje |
| Go | Tabulatory (wymusza gofmt) |
| Rust | 4 spacje (wymusza rustfmt) |
| Java | 4 spacje |
| Makefile | Tabulatory (wymagane przez samo make) |
| Markdown | Zachowaj końcowe białe znaki (używane dla <br>) |
| Batch/CMD (.bat) | Końce linii crlf |
Pułapka: końcowe białe znaki w Markdown
W Markdown dwie końcowe spacje na końcu linii oznaczają „wstaw tu <br>”. Jeśli twój .editorconfig usuwa końcowe białe znaki ze wszystkich plików, te łamania linii znikają. Nadpisz przez trim_trailing_whitespace = false dla [*.md].
Czy twoje IDE to obsługuje?
Natywne wsparcie: VS Code, rodzina JetBrains IntelliJ, Sublime Text, Vim (przez wtyczkę), Emacs (przez wtyczkę), Atom, Notepad++, Xcode. Jeśli edytor nie obsługuje EditorConfig od razu, zwykle ma wtyczkę. Plik jest też czytelny maszynowo, więc lintery i formatery mogą go respektować.
Najczęściej zadawane pytania
W katalogu głównym projektu z root = true. Możesz dodać kolejne pliki .editorconfig w podkatalogach, aby nadpisać konkretne ścieżki; wyszukiwanie wędruje w górę drzewa i zatrzymuje się na pierwszym napotkanym pliku z root = true.
Nie. EditorConfig obsługuje podstawy białych znaków i końców linii w każdym edytorze. Prettier i lintery specyficzne dla języka obsługują głębsze reguły stylu (cudzysłowy, średniki, końcowe przecinki). Te dwa uzupełniają się nawzajem.
Ustaw end_of_line = crlf, jeśli narzędzia Windows w repozytorium faktycznie tego wymagają. Lepsza opcja: zatwierdź end_of_line = lf i dodaj .gitattributes z * text=auto, aby git normalizował końce linii przy commicie, a checkouty były odpowiednie dla systemu operacyjnego.
Nie. Twoje wybory służą tylko do utworzenia pliku; nic nie jest przechowywane na naszych serwerach ani zachowywane po opuszczeniu strony.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Walidator adresów e-mail
Zweryfikuj adres e-mail: sprawdzenie składni RFC 5322, sprawdzenie rekordu MX w czasie rzeczywistym oraz szczegóły dotyczące części lokalnej, domeny i długości. Żadna wiadomość nie jest wysyłana.
Ściągawka do Markdown
Praktyczna ściągawka Markdown z prawdziwym podglądem i przykładami gotowymi do skopiowania: nagłówki, listy, tabele, kod, linki, obrazy i składnia GFM.
Formatowanie HTML
Formatuj HTML lokalnie w przeglądarce, używając wcięć dwóch lub czterech spacji. HTML nie jest wysyłany ani walidowany.
Narzędzie jest dostępne w innych językach
- EditorConfig Generator [EN]
- EditorConfig-generator [SV]
- EditorConfig-Generator [DE]
- EditorConfig-generator [NL]
- EditorConfig ジェネレーター [JA]
- Generador de EditorConfig [ES]
- EditorConfig 생성기 [KO]
- Gerador de EditorConfig [PT]
- Générateur EditorConfig [FR]
- Trình tạo EditorConfig [VI]
- 编辑器配置生成器 [ZH]
- مولد EditorConfig [AR]
- เครื่องมือสร้าง EditorConfig [TH]
- EditorConfig Oluşturucu [TR]
- Generator EditorConfig [ID]
- Generatore EditorConfig [IT]
- Генератор EditorConfig [RU]