Что нового в PyCharm 2022.2

Поддержка Python 3.11, новые возможности HTTP-клиента и улучшения UX

Python 3.11

Code insight for exception groups and except* operator (PEP 654)

PyCharm следит, чтобы вы использовали только разрешенные конструкции. Если вы поместите операторы except и except* в один блок try или используте операторы continue, break и return внутри блока except*, IDE сообщит вам о проблеме. Также IDE предупредит вас, если вы попытаетесь обработать ExceptionGroup внутри блока try*.

Code insight for marking individual TypedDict items as required or potentially missing (PEP 655)

В Python 3.11 появилась возможность добавлять к ключам TypedDict метки Required и NotRequired, а значит, вам больше не нужно создавать сложные иерархии классов с использованием параметра total. PyCharm 2022.2 поддерживает нотации Required[ ] и NotRequired[ ]. Вы можете выполнять для них анализ кода.

Initial support for Variadic Generics (PEP 646)

PyCharm 2022.2 распознает *args: *Ts в определениях функций и выражения со звездочкой внутри оператора индексирования (в квадратных скобках). Variadic Generics доступны только в Python 3.11 — PyCharm напомнит вам об этом, если вы используете другую версию.

HTTP-клиент Pro

Выбор окружения перед запуском

Выбирать окружение для запуска теперь можно с помощью специальной иконки на полях редактора. Чтобы включить эту возможность, в раскрывающемся списке Run with выберите опцию Select Environment Before Run.

Индикатор выполнения в представлении Response

Чтобы вам было проще следить за процессом загрузки, мы добавили в представление Response индикатор выполнения.

Поддержка конечных точек WebSocket в HTTP-клиенте

PyCharm 2022.2 поддерживает соединения по WebSocket — протоколу, позволяющему запросить сервер и получать ответы в виде событий. Возможность отправлять запросы по протоколам HTTP и WebSocket теперь доступна прямо из коробки. ws:// и wss:// делегируются исполнителю WebSocket.

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

  • поддержка конечных точек GraphQL в HTTP-клиенте

    Обновленный HTTP-клиент поддерживает запросы GraphQL.

UX

Новый интерфейс для настройки удаленных интерпретаторов

Мы добавили мастер настройки интерпретаторов на удаленных устройствах (WSL, SSH, Docker, Docker Compose, Vagrant). Процесс настройки стал более понятным и структурированным.

Запуск текущего файла

В виджете Run/Debug появилось новое действие Run Current File, позволяющее запустить и отладить файл, не создавая специальную конфигурацию запуска. Во вложенном меню можно выбрать из подходящих раннеров и при необходимости задать для конфигурации запуска параметры.

Быстрый доступ к настройкам автодополнения

Из всплывающего окна автодополнения теперь можно перейти в соответствующие настройки. Для этого нажмите на три вертикальные точки.

Удобная настройка подсветки инспекций

Теперь вы можете настроить подсветку инспекций в редакторе. Меню Highlighting in editor показывает доступные стили подсветки и позволяет подобрать наиболее подходящий для каждой инспекции.

Активные ссылки в строковых значениях JSON, YAML и .properties

При работе с файлами JSON, YAML и .properties теперь можно переходить по ссылкам внутри строковых значений, начинающихся с http:// и https://. Вы можете открывать ссылки в браузере либо генерировать запросы в HTTP-клиенте через меню Context Actions (Alt + Enter).

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

  • Индикатор процесса клонирования репозитория на начальном экране

    Индикатор извлечения копии проекта из репозитория теперь отображается прямо в списке проектов.

  • Настройка автоматической вставки скобок

    Чтобы IDE автоматически вставляла скобки при автодополнении кода, перейдите в раздел Settings / Preferences | Editor | General | Code Completion и выберите опцию Insert parentheses automatically when applicable.

  • Изменение сопоставления типов файлов в редакторе

    Каждый раз, когда IDE определяет ваш файл как текстовый, вам будет предложено сбросить режим открытия файла прямо в редакторе.

  • Объединение окон на macOS

    Пользователи macOS теперь могут объединять все открытые окна проектов в одно окно с соответствующими вкладками. Это действие вы найдете в меню Window.

Базовая поддержка PyScript Pro

PyScript is a framework for creating rich Python applications in the browser using HTML's interface and the power of Pyodide, WASM, and modern web technologies. PyScript предлагает простой язык программирования, подходящий как новичкам, так и опытным Python-программистам, и позволяющий создавать самые разные приложения.

«Anaconda стремится к демократизации Data Science и Python. PyScript — одна из ключевых составляющих этого процесса. Мы рады, что JetBrains использует потенциал PyScript и поддерживает фреймворк в своем продукте».

Fabio Pliger,
Principal Software Architect at Anaconda, Inc.,
co-creator of PyScript

Анализ кода в <py-script>

Тег <py-script> позволяет выполнять многострочные Python-скрипты и взаимодействовать со страницей. Теперь вы можете использовать теги <py-script> для того, чтобы добавлять код на Python в HTML-файлы. Поддерживаются библиотеки NumPy и Matplotlib. А еще вы можете пользоваться подсветкой и автодополнением.

Подсветка синтаксиса и автодополнение для тегов PyScript и их атрибутов

Мы поддержали автодополнение и подсветку синтаксиса для тегов PyScript, таких как <py-env> (для объявления зависимостей) и <py-repl> (для создания компонентов REPL).

Поддержка PyScript во встроенном браузере

Встроенный браузер позволяет просматривать в IDE не только HTML-файлы, но и файлы PyScript. Страница обновляется каждый раз при сохранении изменений.

Jupyter-ноутбуки Pro

Упрощенное масштабирование изображений

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

Чтобы сделать это действие более интуитивно понятным, мы увеличили толщину нижней границы изображения.

Новые действия для копирования ячеек на панели инструментов

Теперь вы можете вырезать, копировать и вставлять ячейки при помощи специальных кнопок и иконок на панели инструментов редактора Jupyter.

Docker Pro

Загрузка локального Docker-образа в Minikube и другие соединения

Мы добавили новое действие Copy Docker Image. С помощью него вы можете переносить образы с одного демона Docker на другой: оно сохраняет образ в файл, а затем посылает его выбранному демону.

Варианты подключения к демонам Docker

PyCharm интегрируется с Colima и Rancher — это дает больше возможностей подключения к демонам Docker.

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

  • Автоматическое подключение к Docker при перезапуске IDE

    По умолчанию PyCharm 2022.2 автоматически подключается к Docker при перезапуске IDE. Вы можете изменить это поведение в разделе Settings / Preferences | Advanced Settings | Docker.

Базы данных Pro

Импорт нескольких CSV-файлов

Теперь вы можете импортировать в новую или существующую таблицу базы данных сразу несколько CSV-файлов. Для этого достаточно выделить и перетащить файлы c панели Project в нужную схему базы данных. Также вы можете импортировать файлы через контекстное меню CSV-файла — с помощью действия Import to database.

Режимы разрешения Playground и Script

Для разрешения объектов в SQL-скриптах теперь есть два режима. В режиме Playground объекты разрешаются на основе контекста. Этот режим включен по умолчанию для консолей запросов. В режиме Script IDE начинает обрабатывать файл на основе контекста, и, встретив SET CURRENT SCHEMA, меняет этот контекст. Режим Script включен по умолчанию для локальных файлов. Чтобы переключить режим, используйте выпадающее меню на панели инструментов.

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

  • Базовая поддержка DuckDB, Mimer SQL и Apache Ignite

    Мы добавили базовую поддержку баз данных DuckDB, Mimer SQL и Apache Ignite.

  • Новое окно Modify

    Теперь добавлять и редактировать дочерние объекты таблицы можно в окне Modify. Если вам больше нравится старый интерфейс, вы можете вернуть его через контекстное меню объекта.