Что нового в PyCharm 2021.3

Поддержка Poetry, создание проектов FastAPI, Beta-версия инструментов для удаленной разработки и обновленная интеграция с Jupyter.

Мы изучили ваши отзывы и постарались повысить удобство и эффективность работы в PyCharm. В новой версии мы поддержали процесс удаленной разработки в бета-режиме, добавили тип проекта FastAPI и поддержку Poetry, а также полностью переработали интеграцию с Jupyter.

Python

Поддержка Poetry

Poetry продолжает набирать популярность среди Python-разработчиков, и наши пользователи просили поддержать его в PyCharm. The good news for Poetry users (and for those willing to try it) is that PyCharm now supports Poetry and provides code completion for your pyproject.toml files out of the box! Kudos to Koudai Aono, who developed the original plugin that has been merged into the PyCharm source code.

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

Веб-разработка Pro

Поддержка FastAPI

FastAPI, a popular high-performance Python web framework for building APIs, is now supported in PyCharm. При выборе FastAPI в качестве типа проекта PyCharm автоматически устанавливает нужные зависимости и создает конфигурации для запуска и отладки приложения. Также вы можете открыть в PyCharm существующий проект FastAPI и самостоятельно создать конфигурацию для запуска приложения. После этого PyCharm сам найдет ваше приложение и запустит Uvicorn.

Мы упростили тестирование конечных точек HTTP из файла «test.http»: теперь вы можете отправлять запросы GET, POST и пр. прямо из редактора.

Новое окно Endpoints для FastAPI и Flask

Если вы разрабатываете приложения с использованием FastAPI и Flask, вам наверняка приходилось работать с конечными точками, что довольно непросто, если проект большой. Поэтому мы решили добавить в PyCharm окно Endpoints. Оно доступно для проектов типа FastAPI и Flask.

Как только вы откроете новый или существующий проект, PyCharm просканирует его маршруты и отразит их окне Endpoints. Работая с URL-адресами в окне Endpoints, вы можете пользоваться автодополнением, навигацией и рефакторингами, а также быстро просматривать документацию.

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

  • При указании HTML-тегов вам больше не нужно вводить «<», чтобы увидеть варианты автодополнения.
  • Обновить пакеты npm в файле package.json теперь можно прямо из редактора — используйте новую инспекцию Update ‘имя пакета’ to the latest version.
  • Для загрузки удаленных модулей ES6 теперь можно просто указать URL-адрес и воспользоваться быстрым исправлением импорта модуля.

Jupyter-ноутбукиPro

Чтобы разработчики Data Science могли извлекать максимум пользы из PyCharm Pro, мы переработали интеграцию с Jupyter.

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

Мы улучшили поддержку ноутбуков. Взяв за основу классический интерфейс для Jupyter-ноутбуков, мы дополнили его мощными возможностями IDE, включая автоматический импорт, автодополнение и рефакторинги.

Популярные сочетания клавиш

Мы добавили поддержку стандартных сочетаний клавиш Jupyter: выполнение ячеек с помощью shift+enter, переключение между Command Mode и Editor Mode одним нажатием, переход от ячейки к ячейке при помощи стрелок и т. д.

Интерактивные результаты

Теперь PyCharm полностью поддерживает как статические, так и JavaScript-результаты, используемые в библиотеках Plotly, Bokeh, Altair, ipywidgets и др. Также поддерживаются объекты DataFrame: вы можете исследовать их непосредственно в ноутбуке либо открыть в отдельной вкладке.

Возможности отладки

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

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

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

Чтобы попробовать, на начальном экране IDE нажмите Remote Development, выберите опцию SSH и следуйте инструкциям мастера установки для указания учетных данных, установки соединения и загрузки IDE на сервер. Пока эта возможность доступна только в режиме Beta. Мы очень ждем ваших отзывов!

Более подробную информацию вы найдете в документации.

Взаимодействие с IDE

Загрузка Shared Indexes для популярных пакетов Python Pro

Пользователи популярных пакетов с PyPI (Numpy, Pandas, Matplotlib, Sqlalchemy, Scikit-image, Plotly, Scipy и др.) теперь могут скачивать встроенные индексы, чтобы ускорить индексирование IDE. PyCharm попросит вас подтвердить загрузку, поскольку Shared Indexes не включен в инсталляцию IDE.

Разделение окна Run

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

Знакомство с IDE и серия уроков по Git

Для тех, кто только начал пользоваться PyCharm или хочет все хорошенько повторить, мы добавили в IDE Feature Trainer ознакомительный тур и урок про Git. Вы найдете их на начальном экране (опция Learn PyCharm) либо открыв главное меню и перейдя в раздел Help > Learn IDE.

Вычисление выражений в отладчике

Теперь функцию Evaluate гораздо проще найти. Теперь поле Evaluate есть в окне Debug, и вы можете пользоваться им вместо watches.

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

  • Вы можете создавать и редактировать Run-конфигурации во время индексирования.
  • Теперь ошибки при установке пакетов Python сопровождаются более подробными описаниями — знание контекста поможет вам быстрее решать проблемы.
  • Вы можете отключить автоматическую нумерацию и отступы при переходе на новую строку в списках Markdown. Для этого перейдите в раздел настроек Preferences/Settings > Languages & Frameworks > Markdown и выключите опцию Automatic assistance in the editor.
  • Консоль Python позволяет добавить несколько ячеек в очередь на исполнение. Теперь для этого не нужно ждать, пока выполнятся предыдущие ячейки.
  • Теперь вы можете указать для конфигурации SSH прокси-сервер HTTP или SOCKS. Для этого перейдите в раздел настроек PreferencesPreferences/Settings | Tools | SSH Configurations.

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

Реорганизация настроек VCS

Мы реорганизовали настройки VCS так, чтобы вам было проще их находить. В разделе Preferences / Settings | Version Control вы найдете все необходимое для настройки VCS.

Настройки для Commit, Push и Update теперь находятся в разных секциях. Есть отдельное меню с маппингом директорий. Фоновые операции включены по умолчанию.

Функция Checkout and Rebase onto Current для удаленных веток

Чтобы получить ветку из репозитория (check out) и сделать rebase поверх текущей ветки, используйте действие Checkout and Rebase onto Current. Раньше оно было доступно только для локальных веток, но начиная с v2021.3 его можно использовать и для удаленных веток.

Новое действие Push All up to Here

Новое действие Push all up to here позволяет делать push коммитов, в которых вы уверены (остальные продолжат храниться локально). Вы сможете отправлять в удаленный репозиторий все коммиты вплоть до коммита, выбранного во вкладке Log окна Git. Для этого выберите коммит, на котором вы хотите остановиться, кликните по нему правой кнопкой мыши, чтобы вызвать контекстное меню, и выберите Push All up to Here.

Базы данных Pro

Новое окно Diff для баз данных

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

Здесь же указывается, что обозначают различные цвета:

  • зеленый курсив: объект будет создан;
  • серый: объект будет удален;
  • синий: объект будет изменен.

Вкладка Script preview показывает результирующий скрипт. Вы можете запустить его в этом же окне либо открыть в новой консоли. Выполнив скрипт, вы преобразуете базу данных справа (целевую) в идентичную базу данных слева (исходную).

Помимо Script preview, в нижней части окна есть еще две вкладки: Object Properties Diff и DDL Diff. В них показана разница между конкретными версиями объекта в исходной и целевой базах данных.

Агрегирование в редакторе данных

Для просмотра диапазонов ячеек теперь есть режим Aggregate. Он поможет управлять данными и позволит не писать дополнительные запросы.

Это упростит работу с редактором данных и даст вам новые возможности из арсенала Excel и Google Spreadsheets. Выберите диапазон ячеек, к которому вы хотите применить агрегатные функции, кликните по нему правой кнопкой мыши и выберите Show Aggregate View.

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

  • При открытии или импорте CSV-файла PyCharm автоматически определит, является ли первая строка заголовком, содержащим названия столбцов.

Прекращение поддержки

Прекращение поддержки Mako, Buildout и Web2Py

From PyCharm 2021.3 onwards, there will no longer be support for Mako, Buildout, or Web2Py.