Что нового в PyCharm 2019.2

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

Ноутбуки Jupyter

«Выполнить все», «Выполнить все ячейки выше», «Выполнить все ячейки ниже»

«Выполнить все», «Выполнить все ячейки выше», «Выполнить все ячейки ниже»

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

Усовершенствованная настройка сервера

Усовершенствованная настройка сервера

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

Настройка отображения ячеек ноутбука в редакторе

Настройка отображения ячеек ноутбука в редакторе

Когда вы просматриваете Jupyter-ноутбук в браузере, механизм разметки страницы по умолчанию оставляет между ячейками небольшие зазоры. Поскольку в PyCharm код ячеек отображался как Python-код, то ноутбук выглядел сжатым, что ухудшало его читаемость. Чтобы улучшить внешний вид кода ноутбука, мы вставляем в редакторе виртуальные пустые строки, которые не сохраняются в файле.

Встроенное отображение значений переменных

Встроенное отображение значений переменных

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

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

  • Перезапуск ядра Jupyter-сервера.
  • Публикация ноутбука, редактируемого в PyCharm, в JetBrains Datalore.

Улучшения IDE

Подсветка кода для многих популярных языков

Подсветка кода для многих популярных языков

Случается ли такое, что в ваш проект попадает код на другом языке? PyCharm теперь подсвечивает синтаксис .bat (Windows), C#, C++, Groovy, Lua, Makefile и многих других файлов.

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

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

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

Улучшенный внешний вид в Windows

Улучшенный внешний вид в Windows

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

Поддержка cURL для REST-клиента

Поддержка cURL для REST-клиента

Формат cURL теперь поддерживается «из коробки». Просто скопируйте свой запрос в формате cURL и вставьте его непосредственно в файл HTTP-запроса, чтобы преобразовать его в надлежащий формат. Создайте новый файл .http или вспомогательный файл HTTP-запроса, после чего вставьте строку cURL. Она будет автоматически преобразована в полноценный запрос.

Сохранение cookie-файлов между запросами

Сохранение cookie-файлов между запросами

Представим, что вы делаете запрос на аутентификацию к сервису, чтобы позже выполнить операцию, требующую подтверждения успешной аутентификации. Раньше ответ механизма аутентификации терялся после запроса, что вынуждало каждый раз запрашивать разрешение заново. Теперь это не проблема! Все cookie-файлы сохраняются для последующего использования и будут передаваться в составе следующих выполняемых вами запросов.

Улучшенная поддержка EditorConfig

Улучшенная поддержка EditorConfig

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

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

Python

Python 3.8: позиционные параметры

Python 3.8: позиционные параметры

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

Python 3.8: присваивание значения переменной в выражении

Python 3.8: присваивание значения переменной в выражении

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

Другие возможности из Python 3.8

Аннотация Final для переменных

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

Присваивание в f-строках

В f-строках теперь можно пользоваться знаком «=», чтобы одновременно отображать выражения и их значения. Используйте f'{выражение=}', чтобы сгенерировать строку, в которой будет показано одновременно ваше выражение и его результат.

Встроенные Python-функции

Встроенные Python-функции

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

Подробнее о рефакторинге в Python

Быстрое нахождение дублирующегося кода

Быстрое нахождение дублирующегося кода

Дублирование кода — плохая практика, поэтому PyCharm позволяет вам определить, можно ли преобразовать какие-либо части кода в единую функцию.

JavaScript

Улучшенное переименование переменных

Улучшенное переименование переменных

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

Обновленная функциональность отладки Smart Step Into

Обновленная функциональность отладки Smart Step Into

Функциональность Smart Step Into (Shift-F7) была улучшена. Теперь переход к конкретному методу стал удобнее. Используйте для навигации клавиши со стрелками или клавишу Tab, после чего нажимайте Enter и переходите в конкретный метод.

Управление отображением библиотек в отладчике

Управление отображением библиотек в отладчике

Значок фильтра в стеке вызовов отладчика позволяет скрыть все вызовы из стороннего кода. Эта новая функциональность позволяет скрыть все элементы, помеченные как библиотеки.

Базы данных

Полнотекстовый поиск

Полнотекстовый поиск

Знали ли вы, что в PyCharm Professional Edition включены все относящиеся к базам данных возможности из JetBrains DataGrip — нашей профессиональной IDE для баз данных? Одной из новых возможностей в нашем инструментарии для баз данных является полнотекстовый поиск по множественным источникам данных — теперь вы можете находить свои данные, где бы они ни находились.