Что нового в PyCharm 2022.1

Поддержка аутентификации для пользовательских репозиториев пакетов, улучшения для TypedDict и новый интерфейс Services для Docker

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

IDE

Поддержка аутентификации для пользовательских репозиториев пакетов

Настройте базовую HTTP-аутентификацию, чтобы получать доступ к пользовательским репозиториям пакетов и с легкостью управлять зависимостями в PyCharm без необходимости пользоваться консолью. Для этого перейдите в окно Python Packages, нажмите на иконку шестеренки, а затем на знак плюса в диалоговом окне. Далее укажите URL-адрес репозитория, выберите опцию Basic HTTP и введите учетные данные.

Новое окно уведомлений

Вместо Event Log появилось окно Notifications. Полезные подсказки и уведомления теперь организованы проще, чтобы помочь вам не упустить ничего важного.

Настройка отображения пользовательских типов в дебаггере

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

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

  • Вы можете выполнять переформатирование кода в режиме LightEdit. Для этого откройте главное меню и перейдите в раздел Code | Reformat Code или просто нажмите Ctrl+Alt+L.
  • Теперь, если IDE не нашла исполняемый файл Python 3 для macOS, она сама установит его.

Поддержка Jupyter Pro

Переход ячеек кода в режим редактирования после выполнения

Теперь после запуска Run Cell and Insert Below новая ячейка автоматически переходит в режим редактирования — вы можете сразу приступать к написанию кода. Точно так же, если вы редактируете имеющуюся ячейку, после запуска она останется в режиме редактирования.

Копирование и вставка ячеек

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

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

  • Поддержка динамического автодополнения в Jupyter

Редактор

Улучшенное автодополнение для TypedDict

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

Улучшенные сообщения об ошибках для ключей TypedDict

Теперь, если при создании словаря вместо TypedDict вы используете литерал или конструктор dict, PyCharm покажет сообщения об ошибках для каждого ключа, указывая непосредственно на неправильные, отсутствующие и неожиданные значения.

Выполнение команд из Markdown-файлов

Если вы работаете с файлом Markdown, в котором есть команды (например, с файлом README), вы можете запустить эти команды прямо из файла, используя специальные иконки на полях редактора.

Копирование фрагмента кода из Markdown

Для Markdown появилось действие Copy code snippet, позволяющее в один клик скопировать данные в буфер обмена.

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

  • Мы обновили плавающую панель инструментов в редакторе Markdown: теперь с помощью нее можно выбирать заголовки, создавать списки и многое другое.
  • Действие Join Lines теперь покрывает вложенные операторы if.

Удаленная разработка Pro

Новый интерфейс Services для Docker

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

Поддержка Docker Registry V2

Добавлена поддержка Docker Registry HTTP API V2, который используется с Docker 1.6 и более поздними версиями. Он позволяет создавать простые и защищенные паролем реестры Docker V2, а также выполнять стандартные действия: просматривать, отправлять и извлекать образы.

Изменение пути к kubectl

При необходимости вы можете указать путь к kubectl вручную. Для этого перейдите в Settings / Preferences | Build, Execution, Deployment | Kubernetes | Path to kubectl executable.

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

  • Kubernetes: теперь вы можете перенаправлять порты для подов.
  • Kubernetes: для всех ресурсов в окне Services доступно новое действие Describe Resource.
  • Kubernetes: ресурсы, загруженные из кластера, теперь можно изменить прямо в редакторе.

Фронтенд и базы данных Pro

Расширенная поддержка Next.js

Благодаря встроенной поддержке React все основные функции IDE уже должны были работать в проектах Next.js. Мы добавили поддержку страниц — важной сущности, специфичной для Next. js. Теперь PyCharm умеет разрешать пути, указанные в свойстве href компонентов Link, а также в теге form и других тегах. Автодополнение, навигация и рефакторинги тоже работают.

Поддержка Volta

Мы доработали интеграцию с Volta, менеджером JavaScript-инструментов. Теперь PyCharm автоматически распознает Yarn и npm, установленные при помощи Volta.

MongoDB: редактирование полей в результатах

Теперь вы можете легко редактировать результаты не только в реляционных базах данных, но и в коллекциях MongoDB. Также теперь вы можете редактировать наборы результатов, полученные с помощью метода .find(), даже если после него выполняются методы курсора, изменяющие результат (например sort() или limit()).