Что нового в PyCharm 2020.2

Полная поддержка пул-реквестов GitHub, предварительный просмотр исключений в редакторе и рефакторинг Change Signature без модального диалога.

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

Новое окно пул-реквестов

Новое окно пул-реквестов

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

Обновленная поддержка ревью

Обновленная поддержка ревью

Ревью — важный аспект работы с пул-реквестами, и теперь PyCharm полностью поддерживает этот процесс. Прямо в IDE можно создавать, запрашивать и назначать ревью, а также добавлять комментарии.

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

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

Раньше сделать merge пул-реквеста в мастер из PyCharm было непросто — приходилось изобретать обходные пути. В PyCharm 2020.2 все изменилось. Теперь без проблем можно выполнить действия merge, rebase и merge или squash и merge.

Удобное сравнение веток

Удобное сравнение веток

Теперь при сравнении двух веток в PyCharm все коммиты отображаются в одном представлении. Списки коммитов обеих веток открываются не в окне VCS, а в редакторе: здесь больше места и ветки удобнее сравнивать.

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

  • Пока вы проверяете пул-реквесты, PyCharm сообщит обо всех проблемах, обнаруженных во время проверок перед коммитом, и даст ссылки, которые помогут их исправить.
  • Теперь можно выбрать несколько локальных коммитов на вкладке Log в окне Git и объединить их в один.
  • Мы обновили дизайн диалогов Merge, Pull и Rebase — взаимодействовать с ними стало удобнее.

Python

Предварительный просмотр исключений в редакторе

Предварительный просмотр исключений в редакторе

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

Рефакторинг Change Signature без модального диалога

Рефакторинг Change Signature без модального диалога

Чтобы изменить сигнатуру метода, больше не придется иметь дело с модальным диалогом. Просто измените параметры и используйте новый значок на поле редактора или действие из меню Alt+Enter, чтобы применить изменения к всем использованиям метода.

Рефакторинг Rename без модального диалога

Рефакторинг Rename без модального диалога

Кроме того, можно по-новому переименовать классы и методы — тоже без модального диалога: PyCharm позволяет быстро просмотреть и применить изменения. Можно производить преобразования по всему проекту всего за пару шагов.

Полная поддержка Python 3.9

Полная поддержка Python 3.9

Как и всегда, PyCharm следует за развитием Python, и в преддверии выхода Python 3.9 мы поддержали PEP-614 (синтаксис @expr), PEP-585 (универсальные типы в std. collections), PEP-593 (x: Annotated[...]) и многое другое.

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

  • Забыли добавить f к f-строке? PyCharm теперь автоматически включает f-strings, если в строковом выражении используются фигурные скобки.
  • PyCharm автоматически добавляет завершающие запятые перед разрывом строки в многострочных литералах коллекций.

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

PyCharm Professional Edition включает в себя новую функциональность из JetBrains WebStorm, нашей IDE для JavaScript и веб-разработки.

Автодополнение констант конфигурации Django в settings.py

Автодополнение констант конфигурации Django в settings.py

Часто приходится вводить одинаковые переменные конфигурации в settings.py для разных Django-проектов? Теперь в PyCharm работает автодополнение для документированных настроек Django (Ctrl-Q или F1 на macOS).

Консоль Flask вместо консоли Python

Консоль Flask вместо консоли Python

Если вы открываете консоль Python, работая над Flask-проектом, PyCharm автоматически запускает командную оболочку Flask: у вас уже есть приложение Flask и контекст приложения «g» для интерактивных экспериментов.

Первоклассная поддержка Vue

Первоклассная поддержка Vue

В этой версии вас ждет поддержка Nuxt.js, настройки стиля кода для Vue, улучшенная обработка Vue-файлов в TypeScript-проектах и многое другое, что мы реализовали за последний год. Работать с проектами Vue в PyCharm стало еще удобнее.

Новые возможности для JavaScript

Новые возможности для JavaScript

Новые intention-действия (Alt+Enter) сэкономят ваше время. Например, можно быстро преобразовать цикл for с числовым индексом в перебирающий метод forEach. Кроме того, стало проще просматривать документирующие комментарии: мы сделали рендеринг прямо в редакторе.

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

  • В JavaScript-проектах можно выбрать Prettier в качестве форматера по умолчанию.

Улучшения IDE

Новый виджет с инспекциями

Новый виджет с инспекциями

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

Улучшенная поддержка npipe и Docker в Windows

Улучшенная поддержка npipe и Docker в Windows

Для пользователей Windows в PyCharm появилась полноценная поддержка Docker on Windows, в особенности это касается npipe-соединений.

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

  • Тем, кто много работает с Docker, возможно, будет приятно узнать, что PyCharm теперь поддерживает удаление узлов failed и deleted из DockerView.
  • Если вы используете программы чтения с экрана, PyCharm это заметит и автоматически включит специальные возможности.

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

PyCharm Professional Edition включает в себя всю новую функциональность из JetBrains DataGrip, нашей IDE для работы с базами данных.

Автодополнение JOIN стало лучше

Автодополнение JOIN стало лучше

Раньше, чтобы IDE предложила условие для JOIN полностью, нужно было набрать это ключевое слово. Теперь достаточно ввести букву «J». Кроме того, автодополнение теперь предлагает двойные условия, если так выставлены ключи таблиц.

Новое отображение логических ячеек

Новое отображение логических ячеек

Это действительно долгожданное улучшение. Просматривать и редактировать ячейки с типом boolean стало гораздо удобнее. Значения true помечены точкой, чтобы их можно было легко найти среди остальных.

Улучшения фильтрации для MongoDB

Улучшения фильтрации для MongoDB

Помимо ObjectId и ISODate, теперь можно фильтровать по UUID, NumberDecimal, NumberLong и BinData. Кроме того, если у вас в буфере обмена есть подходящее значение для UUID/ObjectId/ISODate, DataGrip предложит использовать его для фильтрации.

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

  • Ссылки на базы данных Oracle теперь показываются в проводнике, а запросы, которые их используют, подсвечены правильно.

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