Что нового в PyCharm 2021.2

PyCharm 2021.2: новые возможности Python 3.10, перезагрузка страниц в браузере при сохранении изменений, режим совместной работы в консоли Python

Анализ кода

Python 3.10

PyCharm позволяет пользоваться преимуществами новых возможностей Python 3.10 еще до выхода стабильного релиза. We started working on support for Python 3.10 by delivering code insight for Explicit Type Aliases (PEP 613) in PyCharm 2020.3. В новой версии реализована поддержка и других PEP.

Pattern Matching (PEP 634, 635, 636)

Pattern Matching (PEPs 634, 635, 636)

В Python 3.10 появится новая синтаксическая конструкция — Structural Pattern Matching. PyCharm предлагает несколько важных функций, которые помогут в работе с новым синтаксисом: инспекции Unused local symbols и Unreachable code, умное автодополнение кода и подсветка синтаксиса по ключевым словам match и case, а также действие Complete Current Statement.

Действие «Complete Current Statement»
Действие «Complete Current Statement»

Теперь PyCharm может дополнять операторы match и соответствующие блоки case. После того, как вы ввели начало оператора match, можно выбрать действие Complete Current Statement (Shift+Ctrl+Enter), и PyCharm дополнит оставшуюся часть кода, включая двоеточие и первую часть блока case. Курсор окажется в той части блока case, где вы сможете закончить выражение.

Форматирование
Форматирование

Встроенный инструмент форматирования PyCharm распознает оператор match и помогает правильно их отформатировать.

Компактный синтаксис для Union-типов (PEP 604)

New syntax for union types (PEP 604)

В Python 3.10 для объединенных типов можно будет использовать int | str вместо Union[int, str]. Эту функцию уже можно использовать в предыдущих версиях Python с помощью импорта from __future__ import annotations.

PyCharm предлагает общий анализ кода для нового синтаксиса, включая intention-действия и информацию в быстрой документации. Новая версия PyCharm поддерживает вывод типов для аргументов isinstance и issubclass с новым синтаксисом.

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

  • Проверка типов теперь работает для typing.Literal в различных типах коллекций. Это обеспечивает корректное сопоставление с конкретными значениями элементов коллекций. Функция работает даже для вложенных коллекций.
  • Можно использовать вставку doctest в Markdown, чтобы продемонстрировать исполнение кода Python в режиме REPL, как если бы он исполнялся в консоли Python.

Совместная разработка: Code With Me

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

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

Теперь работа в консоли Python поддерживается как на хосте, так и на клиентской машине. Во время совместного написания кода коллеги могут выполнять ревью кода, а автор — исполнять его в интерактивной консоли. Поддержка консоли Python в Code With Me обеспечивает использование всех привычных возможностей PyCharm: автоматической подсветки синтаксиса, инспекций и автодополнения кода.

Синхронизация автодополнения кода

Синхронизация автодополнения кода

В режиме Following во время сеанса работы в Code With Me можно отслеживать, какие варианты автодополнения кода использует разработчик, за чьей работой вы наблюдаете. Кроме того, во время сеанса любого типа гости видят точно такие же варианты автодополнения, что и ведущий.

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

Недавно Code With Me запустил два новых сервера ретрансляции: один на западном побережье США, второй — в ЮАР. Это позволило почти втрое сократить время отклика.

Улучшения IDE

Окно пакетов Python: установка пакетов из местоположения, выбранного пользователем

Окно Python Packages: установка пользовательских пакетов

В PyCharm 2021.1 появилось окно Python Packages, где можно управлять пакетами выбранного интерпретатора Python. Теперь устанавливать их можно не только из репозитория PyPI, но и из системы контроля версий или с локальной машины. Нажмите на ссылку Add Package на панели инструментов Python Packages и выберите From Version Control | From Disc.

Обновления режима специальных возможностей

В PyCharm 2021.2 появились новые функции для написания кода со включенным инструментом чтения с экрана на macOS. Теперь можно услышать доступные предложения по автодополнению кода, выбранный пункт в поле со списком и весь список целиком, а также результаты поиска при использовании функции Search Everywhere.

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

  • Мы добавили ряд действий, которые могут выполняться при сохранении изменений в проекте, в том числе форматирование кода и оптимизация импорта. Они собраны в меню Preferences / Settings | Tools | Actions on Save.
  • Теперь нужное окно можно просто перетащить в удобное место — как внутри основного окна IDE, так и в отдельное окно. Просто нажмите на заголовок окна и перетащите в любую выделенную область.
  • Чтобы поменять значок проекта на пользовательский, щелкните правой кнопкой мыши на проекте на начальном экране PyCharm и выберите Choose project icon в контекстном меню.
  • Начиная с этой версии, пользовательский интерфейс IDE полностью локализован на китайский, корейский и японский языки. Локализованный интерфейс можно скачать в виде плагинов с отдельными языковыми пакетами, которые легко установить в IDE.

Базы данных только Pro

Автодополнение кода для полей и операторов в консоли MongoDB

Автодополнение кода для полей и операторов в консоли MongoDB

Now PyCharm can complete fields, nested fields, and fields inside aggregation expressions, as well as query operators, projection operators, update operators, and aggregation stages in the MongoDB console.

Использование контекстных шаблонов Live Templates из редактора данных с помощью действия SQL scripts

Использование контекстных шаблонов Live Templates из редактора данных с помощью действия SQL scripts

Контекстные шаблоны теперь работают прямо из редактора данных. Работая с таблицей, вы можете с легкостью сгенерировать для нее любой запрос при помощи действия SQL Scripts!

Фронтэнд-разработка только PRO

Перезагрузка страниц в браузере при сохранении изменений

Перезагрузка страниц в браузере при сохранении изменений

PyCharm позволяет просматривать HTML-файлы в браузере с помощью встроенного веб-сервера. Теперь IDE будет автоматически обновлять страницы в браузере, когда вы изменяете и сохраняете файлы HTML, CSS и JavaScript. Чтобы использовать эту функцию, откройте в редакторе файл HTML, наведите курсор на угол редактора и нажмите на значок нужного браузера (поддерживаются любые браузеры).

Рефакторинг Rename для React useState hooks

Рефакторинг Rename для React useState hooks

Вам больше не нужно тратить время на рефакторинг отдельных значений и функций useState — PyCharm переименует их самостоятельно. Установите курсор на значение состояния и нажмите Shift+F6 или выберите Refactor | Rename в контекстном меню.

Автоматический импорт для require()

Автоматический импорт для require()

Знаете ли вы, что PyCharm умеет добавлять отсутствующие операторы импорта при вводе ES6-символов? Теперь то же самое возможно для модулей CommonJS: при автодополнении кода будет вставлен оператор require.

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

Добавлять новые зависимости проекта в package.json теперь еще проще благодаря автодополнению кода для частных npm-пакетов. PyCharm позволяет посмотреть информацию о свежих версиях пакета точно так же, как для публичных пакетов.

Управление версиями

Изменения проверок перед коммитом

Изменения проверок перед коммитом

В список действий, которые могут выполняться перед коммитом, было добавлено выполнение тестов. Чтобы проверить сделанные изменения, поставьте флажок Run Tests в разделе Before Commit. Кроме того, можно настроить параметры Analyze code и Cleanup: для этого надо нажать на Choose profile рядом с соответствующим пунктом. Ход выполнения и результаты всех проверок перед коммитом отображаются в области Commit.

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

  • Коммиты в Git можно защитить с помощью цифровой подписи GPG. Для этого перейдите в меню Preferences/Settings | Version Control | Git, нажмите Configure GPG Key и выберите нужный ключ из раскрывающегося списка.

Интеграция со Space

Подключите PyCharm к своей организации в JetBrains Space — нашей новой платформе для разработки и командной работы. Так вы сможете просматривать и клонировать репозитории проекта, а также выполнять ревью кода своих коллег. Чтобы авторизоваться в Space, нажмите кнопку Get from VCS на начальном экране, слева выберите Space и введите URL-адрес вашей организации в специальное поле. Интеграция со Space теперь встроена в IDE.

Статусы заданий Space в журнале Git

Статусы заданий Space в журнале Git

Мы добавили значки статусов задач Space на вкладку Log окна Git, чтобы было легко отследить ход выполнения задачи, посмотрев в список коммитов. При нажатии на значок откроется всплывающее окно с автоматической информацией о задаче.

Чтобы отключить показ информации о статусе, нажмите на значок глаза на вкладке Log и выберите Show Columns | Space Automation.

Отображение веток в ревью кода

Отображение веток в ревью кода

В новой версии IDE в выбранном ревью кода можно отображать связанные ветки. На вкладке Details можно посмотреть список всех веток, куда сделаны коммиты, во время работы над текущей задачей.

Упоминание коллег

Упоминание коллег

Общаться с коллегами при ревью кода в Space стало удобнее: их можно упомянуть, введя символ @, а затем имя коллеги. Эта небольшая, но очень полезная функция работает в хронологическом графике и в комментариях к коду.

Обратите внимание: функциональность с пометкой только Pro поддерживается только в PyCharm Professional Edition.