Что нового в PyCharm 2022.3

PyCharm 2022.3: новое решение для синхронизации настроек, управление зависимостями Conda в окне Python Packages и новые возможности для работы с DataFrame pandas

UX

Новый способ синхронизации настроек

Новое решение для синхронизации настроек

В новой версии PyCharm добавлен новый плагин для синхронизации настроек — Settings Sync. Он позволяет синхронизировать большинство платформенных настроек, настройки встроенных и некоторых сторонних плагинов. Обратите внимание, что мы прекращаем поддержку старого плагина IDE Settings Sync и убираем из комплекта Settings Repository. Подробнее — в этой статье.

Управление зависимостями Conda в окне Python Packages

Управление зависимостями Conda в окне Python Packages

Находить, устанавливать и удалять зависимости Conda теперь можно прямо в окне редактора. Теперь окно Python Packages поддерживает библиотеку зависимостей Anaconda. Это позволяет работать с зависимостями Conda прямо во время написания кода.

Переключение на новый интерфейс PyCharm

Переключение на новый интерфейс PyCharm

Вы можете переключиться на новый, полностью переработанный интерфейс PyCharm. Для этого поставьте галочку напротив New UI preview в разделе Settings/Preferences | Appearance & Behavior. В этом видео рассказывается об особенностях нового интерфейса. Это пока предварительный вариант нового интерфейса. Подробнее о наших планах в его отношении читайте в нашем блоге.

Переработанный Review list для GitHub и Space

Переработанный Review list для GitHub и Space

Мы переработали интерфейс Review list, и теперь вам сразу видна самая важная информация о реквестах. Мы также обеспечили единообразный внешний вид и функциональность для всех поддерживаемых платформ, на которых выполняется ревью.

Улучшенные подсказки Tips of the Day

Улучшенные подсказки Tips of the Day

Мы переработали подсказки Tips of the Day, чтобы сделать их более полезными и удобными для восприятия. Мы обновили дизайн диалога и добавили возможность оценить каждый совет, чтобы мы понимали, насколько он был для вас полезен. Кроме того, мы усовершенствовали алгоритм подбора советов, чтобы показывать вам только самые актуальные — с учетом вашего опыта использования IDE и специфики проекта, над которым вы работаете.

Другие улучшения:

  • Чтобы взаимодействовать с PyCharm на нескольких мониторах было удобнее, мы добавили возможность перетаскивать окна инструментов из главного окна и прикреплять их к плавающим вкладкам редактора.
  • Стало удобнее пользоваться закладками: достаточно кликнуть правой кнопкой на вкладке и в контекстном меню выбрать Bookmarks, чтобы добавить в закладки файлы, открытые во вкладках редактора. Кроме того, в закладки можно добавить сразу все файлы со всех открытых вкладок. Подробнее — в справке по IDE.
  • PyCharm дает возможность читать код в предпочитаемом стиле, не переформатируя его. Новый слой визуального форматирования можно включить в режиме Reader.
  • Мы улучшили алгоритм выдачи результатов поиска Search Everywhere. Теперь IDE фиксирует первые найденные результаты и не пересортировывает их по мере появления новых вариантов. Кроме того, объекты на вкладке Files теперь ранжируются с использованием машинного обучения. Это повышает точность результатов поиска.

Jupyter-ноутбуки Pro

Новые возможности работы с объектами DataFrame pandas

Новые возможности работы с объектами DataFrame pandas

Вы можете выбрать один из следующих режимов просмотра: Table, Tree и Text. В новой версии можно транспонировать DataFrames, скрывать столбцы и быстро переходить к нужным строкам, разбив содержимое файла на страницы.

DataFrames теперь можно экспортировать в различные форматы, включая таблицы Excel, JSON, HTML, XML и Markdown, а также операторы SQL Insert.

Data Vision

Data Vision

Функция Data Vision позволяет прямо в коде просматривать значения переменных Jupyter, например, данные о размере и содержимом массивов NumPy и объектов DataFrame pandas. Чтобы включить функцию, перейдите в меню Settings/Preferences | Languages & Frameworks | Jupyter и выберите Show inline values in editor.

Редактор

Улучшенный рендеринг docstrings в окне Quick Documentation

Улучшенный рендеринг docstrings при быстром просмотре документации

В окне Quick Documentation теперь отображается раздел Attributes для docstrings класса, где можно быстро посмотреть его атрибуты, включая унаследованные, а также атрибуты классов данных.

Просматривать экземпляры классов стало проще: просто наведите курсор на параметр __init__, и из docstring класса будет вызвано его описание.

Предпросмотр intention-действий включен по умолчанию

Предпросмотр intention-действий включен по умолчанию

Вы сразу видите, как изменится код, если применить предложения IDE. Превью отображается, когда вы открываете список доступных intention-действий и наводите курсор на ту или иную опцию.

Python 3.11: улучшенный анализ кода для типа Self

Python 3.11: улучшенный анализ кода для типа Self[PEP 673]

PyCharm распознает тип Self для аннотаций методов или атрибутов и предлагает нужный тип для экземпляров класса.

Если в каком-то месте использовать тип Self неверно, PyCharm предупредит об этом.

Другие улучшения:

  • Появилось новое быстрое исправление для подавления инспекций с помощью комментария в YAML-файлах, включая файлы Kubernetes, docker-compose.yml и спецификации OpenAPI.

Поддержка asyncio в консоли Python

Консоль Python

Встроенная консоль Python теперь поддерживает использование ключевого слова await вне функции для быстрого запуска корутины. Кроме того, в PyCharm 2022.3 появилась поддержка asyncio в отладчике. Эта функция удобна для отладки асинхронного кода, но она является экспериментальной и может работать нестабильно. Как ее включить, описано здесь.

Фронтэнд-разработка Pro

Поддержка Vitest

Поддержка Vitest

PyCharm теперь поддерживает Vitest, нативный Vite-фреймворк для юнит-тестирования. Вы можете запускать, перезапускать и отлаживать тесты всеми привычными способами, в том числе пользуясь значками на полях редактора. Кроме того, для сценария All tests по умолчанию включен режим Watch. В этом режиме поддерживаются снэпшот-тестирование и анализ покрытия, что позволяет получать практически мгновенную обратную связь о покрытии кода тестами.

Новые шаблоны проектов для Next.js и Vite

Новые шаблоны проектов для Next.js и Vite

В мастере создания проектов на начальном экране PyCharm появились шаблоны для Vite и Next.js. Мы также привели шаблон для Vue в соответствие с последними стандартами.

Обновления для Vue

Обновления для Vue

Теперь PyCharm может позаботиться о неразрешенных импортах и предлагает импортировать Vue-компоненты. Еще мы поддержали синтаксис деструктурирования входных параметров, улучшили автодополнение кода и проверку типов для входных параметров компонентов библиотеки Vue, а также исправили несколько проблем с Nuxt 3.

Встроенные инструменты для разработчиков

Безопасность

Проверка пакетов на уязвимости

Проверка пакетов на уязвимости

PyCharm обнаруживает уязвимости в пакетах, используемых в ваших проектах, путем проверки по базам данных Checkmarx SCA Database и National Vulnerability Database. IDE подсветит потенциально уязвимые пакеты в файлах package.json, requirements.txt, setup.py. Для просмотра инспекций нужно включить Security Inspections в меню Preferences / Settings | Editor | Inspections | Security.

HTTP-клиент Pro

Улучшения стиля кода в HTTP-клиенте

Улучшения стиля кода в HTTP-клиенте

В HTTP-клиенте расширены возможности форматирования запросов с длинными URL-адресами. Кроме того, с помощью действия Put query parameters on separate lines можно разбить запрос на несколько строк. Форматирование HTTP-запросов настраивается в разделе Settings/Preferences | Editor | Code Style | HTTP Request | Wrapping and Braces.

Выполнение скриптов перед запросами и новые API для JavaScript-обработчиков

Выполнение скриптов перед запросами и новые API для JavaScript-обработчиков

HTTP-клиент теперь поддерживает выполнение блоков скриптов перед запросами. Можно генерировать данные до выполнения запроса и передавать их в конечный запрос с помощью переменных. Кроме того, новая версия PyCharm предоставляет crypto API, позволяя вычислять хэш-значения md5 или sha1 для HTTP-запросов.

Docker Pro

Действие Pull Docker image

Действие Pull Docker image

Теперь есть простой способ извлечь необходимый образ из Dockerfile, docker-compose.yml и даже из тестов, использующих Testcontainers, не запуская его. Просто вызовите контекстное меню (Alt+Enter) на подсвеченном имени образа и выберите Pull Docker image.

Поддержка файлов .dockerignore

Поддержка файлов .dockerignore

Мы добавили полную поддержку файлов .dockerignore, включая подсветку и автодополнение кода. Теперь эти файлы учитываются при сборке образа из IDE.

Поддержка формата heredoc в файлах Dockerfile

Поддержка формата heredoc в файлах Dockerfile

Here-документы позволяют передавать последующие строки Dockerfile в качестве входных данных для команд RUN и COPY. PyCharm теперь поддерживает этот синтаксис, и вы можете использовать его для создания файлов конфигурации или многострочных скриптов прямо в файлах Dockerfile.

Docker-соединения из Docker Contexts

Docker-соединения из Docker Contexts

Теперь можно установить дополнительные Docker-соединения с помощью Docker Contexts, если у вас уже есть соответствующие настройки в конфигурационном файле Docker. Для этого в окне Services вызовите контекстное меню Add Service и выберите Docker Connections From Docker Contexts.

Базы данных Pro

Поддержка Redis

Поддержка Redis

В PyCharm 2022.3 появилась долгожданная поддержка Redis. Теперь можно подключаться к одиночному серверу Redis, просматривать значения ключей в окне просмотра данных, писать и выполнять запросы к Redis, пользуясь умными возможностями редактора. Подробнее

Форматы типов данных «дата» и «время» в редакторе данных

Форматы типов данных «дата» и «время» в редакторе данных

Теперь можно настроить, как должны отображаться поля типов Datetime/timestamp, Time и Date в редакторе данных. Настройки вы найдете в разделе Database | Data Editor and Viewer.

Быстрый фильтр в проводнике

Быстрый фильтр в проводнике

Мы добавили давно ожидаемую функциональность в проводник баз данных. При использовании быстрого поиска теперь можно фильтровать объекты. Все, что не соответствует фильтрам, будет скрыто.

Фильтрация схем на основе шаблона

Фильтрация схем на основе шаблона

В новой версии можно выбирать базы данных и схемы для интроспекции на основе шаблонов регулярных выражений. Для этого нажмите Add Pattern и укажите шаблон регулярного выражения в новом узле. Добавление нескольких шаблонов будет объединять множества, а не создавать их пересечение. Изменилось поведение узла All: нужно выбрать между All schemas, Default schema или применить фильтр regexp.

Установщики

Установщики для Windows и Linux ARM64 Бета-версия

Теперь PyCharm можно запускать на компьютерах Windows и Linux с процессорами ARM64. В настоящее время доступна бета-версия установщиков IDE. Пользователи Windows могут скачать их с веб-сайта или через JetBrains Toolbox App, а пользователи Linux — только с сайта.