Консольные команды для форматирования исходного кода на C, C++, C#, Java, JavaScript, HTML и CSS. Сортировка пакетов на Python
Запись от 8Observer8 размещена 18.02.2024 в 16:35. Обновил(-а) 8Observer8 11.07.2026 в 16:59
Показов 3067
Комментарии 8
|
Содержание блога Здесь представлены ссылки на утилиты и команды для автоматического форматирования отступов из консоли. Если использовать Far Manager, то консольные команды будут сохранены в подсказчике. Far Manager похож на Total Commander, но можно показывать и скрывать консоль сочетанием клавиш Ctrl+O. Например, достаточно будет ввести команду "сlang" или "js-" и будет предложено продолжение, которое можно выбрать стрелками вверх-вниз и нажать Enter. C/C++Для C и C++ удобнее использовать один и тот же файл .clang-format (за базу взят .clang-format из WebKit для C++, который переваривает C-файлы тоже). Тогда это гарантируется, что файлы .h, .c и .cpp будут форматироваться одинаково. Особенно это удобно, когда проект смешанного типа:
cl и Far выведет список недавно введённых команды. Это быстрее, чем запускать тяжёлую IDE типа CLion, чтобы отформатировать код, особенно, когда нужно отформатировать множество проектов.Вносить мелкие правки в код удобно в редакторе Sublime Text 4 или Notepad++, чтобы не запускать тяжёлую IDE CLion или менее тяжелую IDE Qt Creator. Собрать проект тоже быстрее из консоли после мелких правок, особенно, если нужно внести мелкие правки во множество проектов и пересобрать их. Мне больше нравится кодить в Sublime Text 4 и собирать из консоли с помощью CMake + MinGW + батники. Батники нужны, чтобы последовательности команд не вводить каждый раз. А если у вас одна кодовая база для сборки в .exe, .apk и .wasm, то форматировать код и вносить в него мелкие правки из консоли ещё удобнее, так как IDE Android Studio ещё тяжелее, чем CLion и не придётся обе IDE запускать, чтобы собрать в .exe и .apk после мелких правок кода. Приложение clang-format можно установить либо с помощью pip, если установлен интерпретатор Python, либо с помощью npm, если установлен Node.js:
Нужно где-нибудь создать папку для файла с именем .clang-format Например, я создал этот файл в папке H:/clang-format/web-kit/Скопируйте следующее содержимое в файл .clang-format: https://gist.github.com/ivan-e... 2097d56f4f .clang-format
Если возникла ошибка: то установите пакет: https://www.microsoft.com/en-u... x?id=53840 Скопируйте и выполните следующую команду в консоли Far ( Ctrl + O - для открытия и скрытия консоли в Far) и Far её запомнит:
Если у вас есть массив на C или C++, который вы не хотите форматировать, например, вы хотите сохранить форму (x, y, z) на одной строке для координат вершин треугольника, то можно поставить до массива и после массива следующие комментарии, которые выключат и включат clang-format соответственно:
JavaScript, HTML и CSSСначала нужно установить Node.js, чтобы пользоваться пакетным менеджером NPM: https://nodejs.org/en/download Далее, устанавливается js-beautify командой:
PythonСортируем подключаемые пакеты. Устанавливается isort командой:
C#
JavaСоздание простого приложения из консоли:
Автоматическое форматирование кода Java из консоли:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 8
Комментарии
-
Добавил инструкцию для СиЗапись от 8Observer8 размещена 19.05.2025 в 17:45
Обновил(-а) 8Observer8 07.12.2025 в 16:25 -
Добавил команды для C#Запись от 8Observer8 размещена 04.12.2025 в 23:42
-
Добавил инструкцию для JavaЗапись от 8Observer8 размещена 07.12.2025 в 16:18
-
На C++ clang-format может форматировать и *.h файлы не только *.cpp:
На Си clang-format не может форматировать *.h файлы, только *.c, а при попытке добавить *.h он их пропускает:Bash 1
clang-format *.h *.cpp -i --style=file:"H:/clang-format/web-kit/.clang-format"
Bash 1
clang-format *.h *.c -i --style=file:"H:/clang-format/web-kit-c/.clang-format"
Запись от 8Observer8 размещена 19.12.2025 в 04:47
-
Добавил команду для форматирования EJS файлов:
Либо с добавлением ключа -n для новой строки в конце файла:Bash 1
js-beautify --type html "**/*.ejs"
Файл base.ejs для эксперимента:Bash 1
js-beautify --type html -n "**/*.ejs"
PHP/HTML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<!DOCTYPE html> <html lang="en"> <head> <%- include('head.ejs') %> </head> <body class="bg-light"> <%- include('navbar.ejs') %> <main> <%- content %> </main> <%- include('footer.ejs') %> </body> </html>
Запись от 8Observer8 размещена 23.02.2026 в 21:44
Обновил(-а) 8Observer8 25.02.2026 в 02:43 -
Лучшая стратегия, которую я придумал для выравнивания EJS-кода - использовать кастомные теги. Gemini одобрил и подсказал, что лучше всего использовать кастомный тег с именем "block":
PHP/HTML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<% if (typeof languages !== 'undefined' && languages.length > 0) { %> <block> <script src="/libs/prism/1.30.0/prism.min.js"></script> <% languages.forEach(function(lang) { %> <block> <% if (lang === 'c' || lang === 'cpp') { %> <block> <script src="/libs/prism/1.30.0/components/prism-c.min.js"></script> </block> <% } %> <% if (lang === 'bash' || lang === 'shell') { %> <block> <script src="/libs/prism/1.30.0/components/prism-bash.min.js"></script> </block> <% } %> </block> <% }); %> </block> <% } %>
Элемент "block" лучше скрыть для браузера:Bash 1
js-beautify --type html "**/*.ejs"
CSS 1 2 3
block { display: contents; /* Элемент исчезает из верстки, оставляя только детей */ }
Запись от 8Observer8 размещена 25.02.2026 в 17:13
Обновил(-а) 8Observer8 25.02.2026 в 17:30 -
Для C и C++ удобнее использовать один и тот же файл .clang-format (за базу взят .clang-format из WebKit для C++, который переваривает C-файлы тоже). Тогда это гарантируется, что файлы .h, .c и .cpp будут форматироваться одинаково. Особенно это удобно, когда проект смешанного типа:
Эту команду удобно использовать из Far Manager, потому что Far запоминает команды и вам достаточно набрать первые символы командыBash 1
clang-format *.c *.cpp *.h -i --style=file:"H:/clang-format/web-kit/.clang-format"
clи Far выведет список недавно введённых команды. Это быстрее, чем запускать тяжёлую IDE типа CLion, чтобы отформатировать код, особенно, когда нужно отформатировать множество проектов.
Вносить мелкие правки в код удобно в редакторе Sublime Text 4 или Notepad++, чтобы не запускать тяжёлую IDE CLion или менее тяжелую IDE Qt Creator. Собрать проект тоже быстрее из консоли после мелких правок, особенно, если нужно внести мелкие правки во множество проектов и пересобрать их. Мне больше нравится кодить в Sublime Text 4 и собирать из консоли с помощью CMake + MinGW + батники. Батники нужны, чтобы последовательности команд не вводить каждый раз. А если у вас одна кодовая база для сборки в .exe, .apk и .wasm, то форматировать код и вносить в него мелкие правки из консоли ещё удобнее, так как IDE Android Studio ещё тяжелее, чем CLion и не придётся обе IDE запускать, чтобы собрать в .exe и .apk после мелких правок кода.Запись от 8Observer8 размещена 11.07.2026 в 12:08
Обновил(-а) 8Observer8 11.07.2026 в 12:45 -
Если у вас есть массив на C или C++, который вы не хотите форматировать, например, вы хотите сохранить форму (x, y, z) на одной строке для координат вершин треугольника, то можно поставить до массива и после массива следующие комментарии, которые выключат и включатclang-formatсоответственно:
C 1 2 3 4 5 6 7 8
// clang-format off GLfloat vertexPositions[] = { -0.5f, -0.5f, 0.f, 0.5f, -0.5f, 0.f, 0.f, 0.5f, 0.f }; // clang-format on
Запись от 8Observer8 размещена 11.07.2026 в 16:46
Обновил(-а) 8Observer8 11.07.2026 в 16:53


