Безплатен форматиращ инструмент за код: Подобряване на JavaScript, Python, HTML и други
Моментално форматирайте неподреден код с правилни отстъпи и разстояния. Поддържа над 12 езика, включително JavaScript, Python, HTML, CSS и Java. Базиран в браузъра, сигурен и безплатен. Не се изисква регистрация.
Форматиращ код
Форматирайте кода си с едно щракване. Изберете език, поставете кода си и го получете правилно форматиран.
Как се използва:
- Изберете език за програмиране от падащото меню.
- Поставете незаформатирания си код в областта за въвеждане.
- Натиснете бутона 'Форматирай код'.
- Копирайте форматирания резултат от областта за извеждане.
Документация
Какво представлява форматирането на код?
Форматиращият инструмент за код е инструмент, който пренаписва изходния код с еднакви отстъпи, нови редове и интервали, без да променя действието на кода. Този инструмент работи в уеб браузър. Поддържа 12 езика за програмиране, включително JavaScript, Python, HTML и CSS.
Как работи този форматиращ инструмент за код
Инструментът използва различен набор от правила за всеки език. Никой от тях не изгражда пълно синтактично дърво на кода, с изключение на JSON.
- JSON се анализира с вградения в браузъра анализатор на JSON и след това се извежда отново с отстъп от два интервала. Ако JSON е невалиден, инструментът съобщава за грешка и не показва резултат.
- JavaScript, TypeScript, Java, C, C++ и C# използват един и същ форматиращ инструмент. Той сканира кода знак по знак, като проследява фигурните скоби, кръглите скоби и точките и запетаите. Всеки
{започва нов блок с отстъп, а всяко}или;завършва ред. Коментарите и низовете в кавички се копират без промяна. Този форматиращ инструмент не добавя интервали около операторите или след запетаи, ако в оригиналния код те липсват — той само възстановява новите редове и отстъпите. - Python прочита съществуващия отстъп на всеки ред и го изгражда отново с четири интервала на ниво, като следва същите правила за влагане, които използва самият език Python. Не разделя дългите редове, не добавя празни редове и не добавя интервали около операторите; само нормализира дълбочината на отстъпа на всеки ред.
- CSS премахва излишните нови редове и празните интервали, след което добавя нов ред след всяко
{и;и преди всяко}. - HTML и XML добавят нов ред и два интервала отстъп за всяко ниво на вложеност на таговете, като разпознават стандартни самозатварящи се тагове като
<br>,<img>и<input>. - SQL преобразува определен набор от ключови думи, като
SELECT,FROM,WHERE,JOINиORDER BY, до главни букви и започва нов ред преди всяка основна клауза.
Тъй като само форматерът за JSON действително анализира входа, никой от останалите форматиращи инструменти не открива синтактични грешки, като липсваща скоба или незатворен низ. Те форматират всеки подаден текст, дори ако той не би се изпълнил.
Поддържани езици
| Език | Обичайно файлово разширение | Размер на отстъпа |
|---|---|---|
| JavaScript | .js | 2 интервала |
| TypeScript | .ts | 2 интервала |
| HTML | .html | 2 интервала |
| CSS | .css | 2 интервала |
| Python | .py | 4 интервала |
| Java | .java | 4 интервала |
| C | .c | 4 интервала |
| C++ | .cpp | 4 интервала |
| C# | .cs | 4 интервала |
| SQL | .sql | нови редове според клаузите |
| JSON | .json | 2 интервала |
| XML | .xml | 2 интервала |
Как се форматира код
- Изберете език за програмиране от падащото меню.
- Поставете неформатирания код в полето за въвеждане.
- Изберете „Format Code“.
- Копирайте форматирания резултат от полето за извеждане.
Форматирането се извършва изцяло в браузъра. Кодът никога не се изпраща към сървър.
Пример за форматиране на JavaScript
Преди форматиране:
1function add(a, b) {
2 if (a > 0) { return a + b; }
3 return 0;
4}
5След форматиране:
1function add(a, b) {
2 if (a > 0) {
3 return a + b;
4 }
5 return 0;
6}
7Форматиращият инструмент премести кода в { } на отделен ред с отстъп и нормализира отстъпа до два интервала на ниво. Той остави интервалите около a > 0 и a + b точно както ги намери, защото тези интервали вече бяха налице.
Пример за форматиране на Python
Преди форматиране:
1def calculate_average(numbers):
2 if len(numbers) == 0:
3 return 0
4 total = sum(numbers)
5 return total / len(numbers)
6След форматиране:
1def calculate_average(numbers):
2 if len(numbers) == 0:
3 return 0
4 total = sum(numbers)
5 return total / len(numbers)
6Оригиналният код използваше два интервала на ниво отстъп. Форматиращият инструмент преизчисли отстъпа на всеки ред с четири интервала за всяко ниво, в съответствие със стила, описан в PEP 8, официалното ръководство за стил на Python. Той запази редовете в същия ред и не промени интервалите вътре в редовете.
Защо форматирането на кода е важно
Непоследователният отстъп затруднява виждането къде завършват функция, цикъл или условие. Код, редактиран от няколко души, често съдържа смесени отстъпи с табулации и интервали или редове, които не са подравнени с блока, към който принадлежат. Прекарването му през форматиращ инструмент придава на всеки файл еднаква визуална структура, което ускорява преглеждането и улеснява откриването на неправилно поставена скоба.
Ограничения
- Размер на входа: Инструментът приема до 50 000 знака код. По-дългият вход се отхвърля със съобщение за грешка, преди да започне форматирането.
- Без проверка на синтаксиса за повечето езици: Само входът в JSON се анализира и валидира. Кодът на останалите 11 езика се форматира както е подаден, дори ако има липсваща скоба или незатворен низ. В такъв случай резултатът може да е с неправилен отстъп, вместо да бъде маркиран като грешка.
- Без промени в интервалите около операторите: Форматиращите инструменти за JavaScript, TypeScript и езиците от семейството на C пренареждат само новите редове и отстъпите. Те не добавят интервал около
+,=,!==или след запетая, ако такъв вече не е имало. - PHP не се поддържа: Избирането на неподдържан език връща кода без промяна.
Често задавани въпроси
Проверява ли този инструмент кода ми за синтактични грешки? Само за JSON. Входът в JSON се анализира, така че невалидният JSON води до съобщение за грешка. Кодът на останалите поддържани езици се форматира, без да се проверява дали има валиден синтаксис.
Изпраща ли кода ми към сървър? Не. Форматирането се извършва изцяло в браузъра с помощта на JavaScript. Кодът не се качва и не се съхранява никъде.
Какъв е максималният обем код, който може да форматира? 50 000 знака. Поставянето на по-дълъг текст води до грешка, преди да започне форматирането.
Ще добави ли липсващи интервали около операторите ми или след запетаи? Не, за JavaScript, TypeScript, Java, C, C++ и C#. Тези форматиращи инструменти само възстановяват отстъпите и новите редове около фигурните скоби и точките и запетаите; останалата част от всеки ред се копира така, както е написана.
Какъв отстъп използва? Два интервала за JavaScript, TypeScript, HTML, CSS, JSON и XML. Четири интервала за Python, Java, C, C++ и C#.
Защо кодът ми изглежда почти по същия начин след форматиране? Ако входът вече използва еднакви интервали и един стил на скобите, форматиращият инструмент основно възстановява отстъпите, така че промяната може да е малка. Най-полезен е при код със смесени отстъпи или код, минимизиран до много малко редове.