Как настроить isort в PyCharm


В современной разработке программного обеспечения эффективное организованное импортирование является важным аспектом поддержки чистоты кода и упрощения сопровождения проекта. Одним из популярных инструментов, который помогает автоматизировать этот процесс, является isort. Редактор кода PyCharm предлагает простую настройку isort, чтобы сделать процесс организации импортов еще более удобным.

isort — это инструмент, который автоматически сортирует и группирует импорты в ваших Python-файлах. Он помогает поддерживать код в соответствии с PEP 8 (стандартом оформления Python-кода) и улучшает читабельность и понятность вашего кода. Этот инструмент выступает в роли «дополнительного парного глаза» и осуществляет импортирование модулей в правильном порядке, что экономит время и избавляет от ручной сортировки.

В этом руководстве мы рассмотрим пошаговую настройку isort в PyCharm и научимся использовать его функционал для автоматической сортировки импортов в наших проектах. Вы узнаете, как настроить isort в PyCharm, как указать настройки isort для вашего проекта и как использовать его внутри редактора кода для организации импортов.

Что такое isort и для чего он нужен?

Основная цель использования isort — это соблюдение некоторых правил для импортирования, таких как:

  • Группировка импортов по типу (стандартные библиотеки, сторонние библиотеки, модули проекта).
  • Отсортировка импортов внутри каждой группы по алфавиту.
  • Использование избыточной погруженности, то есть для импорта модуля из пакета использовать зависимость от самого пакета, а не от конкретного модуля внутри пакета.

С использованием isort вы можете быть уверены, что ваши импорты всегда будут отсортированы правильно, что упростит чтение и поддержание кода. Основная особенность isort — это его автоматическая интеграция с PyCharm, делая его превосходным инструментом для использования в среде разработки Python.

Установка isort

Для использования инструмента isort в PyCharm необходимо его установить следующим образом:

1. Откройте терминал

Для начала, откройте терминал в PyCharm, нажав на кнопку «Terminal» внизу справа.

2. Установите isort

В терминале выполните команду:

pip install isort

Данная команда установит последнюю версию инструмента isort.

3. Проверьте установку

Выполните команду:

isort --version

Теперь вы можете использовать isort для автоматической сортировки импортов в ваших проектах.

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

PyCharm включает в себя встроенную поддержку для isort, что делает настройку и использование этого инструмента очень простым.

Для начала установите пакет isort, выполнив команду pip install isort.

Затем откройте проект в PyCharm и перейдите к настройкам редактора. В разделе «Editor» выберите пункт «Code Style» и перейдите на вкладку «Python».

На этой вкладке вы увидите различные настройки форматирования кода. Однако нас интересует только одна опция — «Use isort to reorder imports». Убедитесь, что эта опция включена.

Теперь, когда вы сохраняете файл с кодом, isort автоматически будет запускаться и сортировать импорты по определенным правилам. Это позволит сохранять ваш код организованным и читаемым.

Вы также можете настроить дополнительные параметры isort, такие как порядок сортировки импортов и правила группировки. Для этого создайте файл .isort.cfg в корневом каталоге вашего проекта и определите нужные параметры.

Конфигурационные файлы isort

Isort позволяет настраивать поведение с помощью конфигурационных файлов. Они позволяют определить правила сортировки импортов, игнорируемые модули и другие параметры. Файлы конфигурации должны называться .isort.cfg или pyproject.toml.

Файл .isort.cfg это текстовый файл, который содержит настройки для isort. Он обычно располагается в корне проекта. Например:

[isort]profile=black # использовать профиль сортировки blackline_length=88 # максимальная длина строки

Чтобы настроить isort с использованием файла pyproject.toml, необходимо добавить секцию [tool.isort] в файл pyproject.toml и указать нужные параметры. Например:

[tool.isort]profile = "black" # использовать профиль сортировки blackline_length = 88 # максимальная длина строки

Использование конфигурационных файлов позволяет создавать универсальные настройки для проекта, которые могут быть использованы при работе с isort в различных средах разработки.

Основные команды isort

Прежде всего, для установки isort вам потребуется выполнить команду:

pip install isort

Далее вы можете использовать isort для сортировки импортов в файле Python. Есть несколько способов выполнить эту задачу:

КомандаОписание
isort [файлы]Сортирует импорты в указанных файлах.
isort —check [файлы]
isort —stdout [файлы]
isort —recursive [папка]Сортирует импорты во всех файлах в указанной папке и ее подпапках.

Дополнительные параметры могут быть указаны после команды isort. Например, вы можете указать флаг --skip, чтобы пропустить определенные файлы или папки при сортировке импортов.

Isort также поддерживает настройку с помощью файла конфигурации. Вы можете создать файл .isort.cfg в корневом каталоге вашего проекта и указать нужные настройки. Это позволяет определить, какие импорты сортировать, какие строки пропускать и другие параметры.

Все эти команды isort могут быть выполнены из командной строки или из PyCharm. Чтобы настроить выполнение isort в PyCharm, откройте настройки, перейдите в раздел «Tools» и выберите «File Watchers». Добавьте новое правило для isort, указав команду и параметры.

Теперь, когда вы сохраняете файл в PyCharm, isort будет автоматически сортировать импорты в нем.

Полезные параметры конфигурации isort

Isort предоставляет множество параметров конфигурации, которые позволяют настроить его поведение под ваши нужды. Вот несколько полезных параметров:

line_length: указывает максимальную длину строки кода. Если строка кода превышает эту длину, isort автоматически переносит импорты на следующую строку.

force_single_line: указывает, что все импорты должны быть на одной строке, даже если это противоречит другим правилам isort.

force_sort_within_sections: указывает isort на то, что импорты должны быть отсортированы внутри одной и той же секции. Например, импорты из модулей сторонних библиотек будут отсортированы по алфавиту внутри секции сторонних библиотек.

known_third_party: список модулей, которые являются сторонними библиотеками и должны быть отображены в отдельной секции. Это позволяет однозначно определить, какие импорты являются внутренней частью вашего проекта, а какие — внешней.

known_first_party: список модулей, которые являются частью вашего проекта и должны быть отображены отдельно от остальных импортов. Это полезно для создания более понятной иерархии импортов в вашем коде.

import_heading_*: параметры, позволяющие настроить заголовки для разных типов импортов. Например, вы можете задать import_heading_stdlib, чтобы указать наличие заголовка для стандартных библиотек Python.

Указанные параметры — только небольшая часть возможностей конфигурации isort. Вы можете ознакомиться со всем списком параметров и подробной документацией на официальном сайте isort.

Лучшие практики использования isort

1. Установите и настройте isort:

Перед использованием isort, убедитесь, что он установлен в вашей среде разработки. Вы можете установить его с помощью pip в командной строке:

pip install isort

После установки вы можете настроить параметры isort в файле конфигурации .isort.cfg на корневом уровне вашего проекта для получения наилучшего результата.

2. Используйте предварительные списки импортов:

isort позволяет группировать импорты по категориям, таким как основные модули Python, сторонние библиотеки и локальные модули. Рекомендуется использовать предварительные списки для более логической организации импортов и их удобного чтения.

3. Оптимизируйте порядок импортов:

isort позволяет оптимизировать порядок импортов, чтобы учесть зависимости между модулями. Он автоматически размещает импорты в правильном порядке, что облегчает чтение и отладку кода.

4. Указывайте импорты в нескольких строках:

Если импорты занимают более чем одну строку, рекомендуется указывать каждый импорт в отдельной строке. Это делает код более читабельным и позволяет удобно добавлять и удалять импорты в будущем.

5. Обновляйте импорты автоматически:

PyCharm позволяет настроить автоматическое обновление импортов в реальном времени при сохранении файла. Это гарантирует, что ваши импорты всегда будут актуальными и организованными.

Следуя этим лучшим практикам, вы можете использовать isort для эффективной организации импортов в своем проекте Python, что значительно упростит чтение и сопровождение вашего кода.

Расширенные настройки isort в PyCharm

PyCharm предоставляет возможность настраивать различные аспекты работы isort, чтобы удовлетворить индивидуальные предпочтения программиста. В данном разделе рассмотрим некоторые расширенные настройки isort в PyCharm.

НастройкаОписание
Force to TopЭта настройка позволяет указать модули, которые должны всегда быть помещены вверху импортов. Например, если в вашем проекте вы всегда хотите импортировать модуль sys первым, вы можете добавить его в список ‘Force to Top’.
Order by TypeЕсли включена эта настройка, isort будет сортировать импорты по типу (сторонние зависимости, стандартные модули и модули вашего проекта) вместо сортировки по имени. Это может быть полезно для лучшей организации и читаемости.
Wrap LengthЭта опция позволяет задать максимальную длину строки импорта. Если строка импорта превышает это значение, isort разделит ее на несколько строк. Значение по умолчанию — 79 символов, но вы можете изменить его по своему усмотрению.
Force Sort Within SectionsПри включении этой настройки, isort будет принудительно сортировать импорты внутри каждой секции (сторонние зависимости, стандартные модули, модули вашего проекта) для более последовательного представления.

Для настройки isort в PyCharm, откройте окно настроек и перейдите в раздел «Editor» -> «Code Style» -> «Python». Затем выберите вкладку «Imports» и настройте нужные параметры с помощью предоставленных опций.

Настройка isort в PyCharm позволяет гибко настроить поведение инструмента с учетом ваших индивидуальных предпочтений и стандартов оформления кода. Используйте эти расширенные настройки для достижения наилучшей организации и структурирования вашего кода.

Добавить комментарий

Вам также может понравиться