Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Дневник студента

Дружим VS Code и blue форматтер для Python

Время чтения статьи ~1 минута
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Дружим VS Code и blue форматтер для Python главное изображение

У Python есть отличный автоформаттер — black. Быстрый, простой и, главное, бескомпромиссный и почти не настраиваемый. Похож на gofmt у Go.

Но black предлагает использование двойных кавычек для строк, в то время как большинство питонистов привыкло к одинарным, т.е. "foo" вместо 'foo'. Этого оказалось достаточно для появления клона-близнеца — автоформаттера blue. Он использует black под капотом, поэтому отличия минимальны (см. документацию).

Официальный экстеншн Python в VS Code знает про black, но не знает про blue, документация тоже молчит. Но так как совместимость гарантируется, то достаточно в настройках указать blue как путь для форматтера black.

Итого:

  • Устанавливаем blue: poetry add --dev blue. Если до этого уже был установлен black, то, скорее всего, придется его удалить poetry remove --dev black т.к. может быть конфликт версий.
  • Открываем Command Palette (Ctrl+Shift+P), вводим settings json, выбираем Open Workspace Settings (JSON) и добавляем: { "python.formatting.provider": "black", "python.formatting.blackPath": "blue", }

Использование:

  • Стандартный хоткей для автоформатирования Ctrl+Shift+I
  • Или можно включить "editor.formatOnSave": true, но это не всегда удобный вариант

Настройка:

  • Добавляем "python.formatting.blackArgs": ["--line-length", "100"], — все там же, в json файле
  • Или в pyproject.toml: [tool.blue] line-length = 100
Аватар пользователя Alexey Ryabokon
Alexey Ryabokon 17 ноября 2022
3
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря