Что нового в PyCharm 2019.3

Доступны интерактивные виджеты для Jupyter Notebooks, поддержка MongoDB и помощь при написании кода для всех возможностей Python 3.8.

Jupyter только Pro

Интерактивные виджеты

Интерактивные виджеты

To provide more interactivity, Jupyter notebooks support interactive controls known as interactive widgets. С помощью этих элементов управления можно превратить статические notebook-файлы в интерактивные панели мониторинга и дать пользователям возможность при просмотре настраивать их вид в соответствии со своими предпочтениями. Это обновление PyCharm добавляет поддержку интерактивных виджетов. Таким образом, виджеты визуализируются вместе с результатами, и их можно использовать для работы с notebook-файлами точно так же, как и с файлами Jupyter Notebooks.

IDE теперь поддерживает самые популярные библиотеки виджетов. Если библиотека не работает, сообщите о проблеме.

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

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

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

Функции увеличения и уменьшения масштаба на панели вывода

Функции увеличения и уменьшения масштаба на панели вывода

Теперь можно использовать одинаковый размер шрифта в режиме просмотра и в редакторе. Кроме того, можно выбрать желаемый размер шрифта в меню настроек. В режиме просмотра теперь также поддерживается настройка редактора Change Font Size (Zoom) with Ctrl+Mouse Wheel. Если эта настройка активна, то для увеличения или уменьшения масштаба в окне просмотра можно прокрутить колесико мыши, удерживая нажатой клавишу Ctrl.

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

  • Теперь, даже если изменения в Jupyter Notebook вносятся за пределами IDE (например, в нативном интерфейсе Jupyter), синхронизация состояния IDE выполняется автоматически. Это позволяет отображать для пользователей IDE актуальную версию notebook-файла с учетом всех внесенных изменений.

Python

Автодополнение путей доступа к файлам

Автодополнение путей доступа к файлам

Боитесь сделать опечатку в имени файла — особенно в таком длинном, как open(‘data/survey_data_28112019_exported.csv’)? Теперь в редакторе кода Python и консоли предлагаются варианты путей доступа к файлам. Мы расширили функцию автодополнения кода с учетом контекста, и теперь строковые литералы в связанных с файлом контекстах отображают варианты путей доступа к файлам.

Поддержка относительного импорта

Поддержка относительного импорта

Предпочитаете относительный импорт абсолютному? В этой версии PyCharm добавлена функция автоматического преобразования между этими стилями. Если вы уже выполняете относительный импорт из того или иного пакета, все новые операции импорта из этого пакета также будут автоматически создаваться как операции относительного импорта.

Python 3.8: TypedDicts

Python 3.8: TypedDicts

Поддержка TypedDict в PyCharm поможет избежать некорректного присваивания значений для словарей. Наш редактор кода поможет вам правильно использовать полученное точное представление структур пары «ключ/значение».

Python 3.8: аннотация типа Literal

Python 3.8: аннотация типа Literal

Вы используете метод, в который передается строковое значение, например режимный код файла для «open»? Аннотацию типа Literal в Python 3.8 можно использовать для проверки не только типа, но и конкретного значения. Теперь PyCharm выводит предупреждение, если вызвана функция с неподдерживаемым значением.

Автоматическое создание тестов с pytest

Автоматическое создание тестов с pytest

В обновленный инструмент для автоматического создания тестов добавлена поддержка pytest. Теперь в PyCharm можно автоматически создавать тесты с помощью pytest – для этого достаточно просто выбрать Go To | Test в контекстном меню объявления метода.

Отладчик: сведения о размере для коллекций

Отладчик: сведения о размере для коллекций

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

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

  • Вы используете шестнадцатеричные или двоичные значения в скриптах для написания сетевых сценариев или работы с аппаратным обеспечением? У нас для вас отличные новости! Теперь в PyCharm доступны встроенные функции преобразования десятичных значений в шестнадцатеричный или двоичный формат с помощью представления переменных непосредственно в консоли или отладчике.
  • Занимаетесь разработкой для Linux на Windows? Мы добавили поддержку Windows Subsystem for Linux 2. Настройте интерпретатор Python в PyCharm, чтобы использовать интерпретатор, доступный в WSL 2только Pro

Улучшения производительности

Ускоренная индексация

Ускоренная индексация

PyCharm поможет быстрее справиться с работой благодаря улучшенному анализу кода. Для этого потребуется проиндексировать код и все импортируемые пакеты. Перед индексацией пакета, который содержит скомпилированные расширения (как, например, многие пакеты Data Science), потребуется сгенерировать скелеты Python (шаблоны) с описанием интерфейса Python. Мы улучшили этот процесс, и в результате индексация выполняется как минимум на 25 % быстрее. При этом, если один и тот же пакет используется в нескольких виртуальных средах, можно повторно использовать для него ранее созданный индекс.

Меньше зависаний и усовершенствованные отчеты о зависаниях

Меньше зависаний и усовершенствованные отчеты о зависаниях

К сожалению иногда пользовательский интерфейс PyCharm зависает, мешая работать с кодом. Мы понимаем, как это неприятно, и активно работаем над устранением этой проблемы. Мы уже исправили многие ошибки, которые могли вызывать зависание пользовательского интерфейса, и добавили возможность немедленно сообщить о проблеме прямо из IDE. Это поможет нам определить причины такого поведения и позаботиться о том, чтобы подобная проблема не возникла в будущем. Надеемся, что ваши сообщения помогут нам решить проблему с зависанием пользовательского интерфейса в PyCharm, и заранее благодарим вас за помощь!

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

  • В этом году мы поработали над повышением производительности при запуске всех сред IDE от JetBrains. В версии 2019.3 время запуска нашей базовой платформы значительно сократилось, однако мы планируем продолжить работу, чтобы запускать IDE еще быстрее.
  • Теперь вы можете менять темы без перезапуска IDE. Эта возможность доступна как при выборе предустановленной темы, так и сразу после скачивания новой темы.
  • В PyCharm 2019.3 улучшена обработка событий и операции с игнорируемыми файлами, что позволяет быстрее обновлять статусы системы контроля версий.
  • Мы изменили способ визуализации редактора – теперь прокрутка длинных файлов стала гораздо более плавной.

Поддержка баз данных только pro

Поддержка MongoDB

Поддержка MongoDB

Разрабатываете приложения на основе MongoDB? Тогда вам будет полезна новая возможность, которая позволяет просматривать коллекции MongoDB в PyCharm. Подключите свою базу данных, добавив источник данных из окна Tool базы данных (View | Tool Windows | Database). В выпуске PyCharm Professional доступны все возможности работы с базами данных из профессиональной SQL-среды IDE от JetBrains DataGrip.

Функциональность IDE

Параметризация конфигураций запуска

Параметризация конфигураций запуска

В процессе разработки приложений командной строки очень удобно иметь возможность быстро изменить аргументы. Хотя для их изменения всегда можно просто перейти в раздел Edit Configuration, теперь есть более простой и эффективный способ: новые макросы (переменные) конфигурации запуска позволяют настроить в PyCharm отображение запроса на ввод значения каждый раз при запуске приложения.

Поиск в выделенном

Поиск в выделенном

Хотите узнать, насколько часто тот или иной текст встречается в разделе файла? Теперь вы сможете выполнить поиск по заданным параметрам. Хотите выполнить поиск по всему файлу? Еще раз нажмите Ctrl-F, чтобы расширить область поиска, охватив оставшуюся часть файла.

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

  • Если часть приложения написана на JavaScript, скорее всего, в нем используются шаблоны Handlebars. Если установлен плагин Handlebars , можно включить сбор данных о коде Handlebars в любой строке Python. Просто нажмите Alt-Enter в соответствующей строке, выберите Inject language or reference и введите "Handlebars".

Интеграция с системами контроля версий

Улучшенные функции сравнения с текущей веткой

Улучшенные функции сравнения с текущей веткой

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

Улучшенный интерфейс клонирования репозитория

Улучшенный интерфейс клонирования репозитория

Теперь независимо от типа репозитория для выгрузки нового проекта используется единое рабочее пространство.

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

  • При выгрузке удаленной ветки, как правило, создается локальная ветка, которая отслеживает удаленную ветку. В PyCharm 2019.3 доступно только одно действие Checkout, которое отображает текущее состояние для удаленной ветки без риска потери локальных коммитов.
  • В PyCharm всегда поддерживалась отправка изменений из текущей выгруженой ветки. В отдельных случаях может потребоваться отправка изменений из другой ветки, и теперь для этого необязательно выгружать ее заранее.

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

Классы CSS из CDN

Классы CSS из CDN

Используете таблицу стилей из CDN? Теперь можно скачать версию этой таблицы стилей специально для автодополнения кода.

Просмотр значений, возвращаемых методами в процессе отладки JavaScript

Просмотр значений, возвращаемых методами в процессе отладки JavaScript

Теперь в отладчике JavaScript, как и в отладчике Python, отображаются возвращаемые значения вызываемых методов. Для просмотра этих значений щелкните значок шестеренки в отладчике и включите параметр Show Return Values.

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

  • Настройте параметры стиля CSS, чтобы настроить использование одинарных или двойных кавычек.
  • Независимо от того, используются в CSS двойные или одинарные кавычки, PyCharm теперь позволяет соблюдать единый стиль. Параметры кавычек можно настроить в разделе Settings | Editor | Code Style | Style Sheets | CSS на вкладке Other.
  • Используете компоненты React, для которых не определены типы propTypes? Теперь PyCharm поддерживает вывод свойств и применяет автодополнение кода для тех компонентов, для которых не определены типы propTypes.