Full Line Code Completion, интерактивный предпросмотр для шаблонов Django, улучшения инструментов визуализации данных

PyCharm 2023.3 предлагает удобный доступ ко всем необходимым инструментам и упрощает рабочий процесс, чтобы вы могли работать эффективнее.

Официальная версия AI Assistant

Публичный доступ
Professional

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

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

Чтобы использовать AI Assistant как дополнительную функцию PyCharm, вам потребуется подписка JetBrains AI Service.

Full Line Code Completion
Professional

По мере написания кода PyCharm 2023.3 предлагает составные варианты автодополнения кода и одновременно проверяет их корректность. Функция Full Line Code Completion использует модель глубокого обучения и обрабатывает все предложения прямо на вашей машине. Таким образом, весь код хранится локально и не попадает за пределы системы. Благодаря этому вы можете пользоваться этой функцией даже при отсутствии интернет-соединения.

Django
Professional

Интерактивный предпросмотр шаблонов Django

PyCharm 2023.3 предлагает новый подход к редактированию шаблонов Django с помощью новой функции интерактивного предпросмотра. Во время предпросмотра код «оживает» и обновляется в реальном времени благодаря перезагрузке по требованию.

Чтобы напрямую изменять и тестировать маршруты, воспользуйтесь адресной строкой. Если в шаблоне несколько маршрутов, просто выберите нужный вариант в адресной строке. Встроенная консоль Developer tools позволяет включить устранение неполадок в стандартный рабочий процесс. Теперь вы сможете дорабатывать свои шаблоны с минимальными усилиями.

Окно Django Structure

Окно Django Structure — новый центр стратегического управления проектами Django.

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

Но это далеко не все. Здесь можно в один клик выполнять рефакторинг моделей, представлений и классов администрирования моделей, а также находить их использования. Модели можно зарегистрировать в интерфейсе администратора, просто выбрав нужный пункт в контекстном меню.

Django Structure позволяет быстро начать создавать новые приложения и выполнять миграцию во встроенной консоли manage.py.
Вам больше не придется вручную просматривать файлы проекта Django, и вы сможете сосредоточиться на его сборке и доработке.

Визуализация данных
Professional

Удобный интерфейс для датафреймов

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

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

Для дальнейшей работы данные можно экспортировать в разные форматы: к вашим услугам CSV, TSV, выражения SQL insert, Markdown, HTML и другие варианты.

Мгновенное графическое представление датафреймов

Нет ничего проще, чем получить обзор данных в датафрейме или целой их серии. В PyCharm 2023.3 достаточно кликнуть на датафрейме и выбрать Show Chart, а всю остальную работу IDE возьмет на себя. Выберите самый подходящий тип диаграммы и экспортируйте его в файл PNG, когда результат вас устроит.

Вместо того, чтобы писать лишний код, вы можете спокойно заняться исследованием данных.

Python: 3.12 и не только

PEP 669: Low-impact monitoring

В новой версии PyCharm отладчик использует низкозатратный мониторинг, который появился в Python 3.12. Это позволяет повысить общую эффективность работы отладчика. Мы существенно улучшили функциональность, например трассировку сгенерированных исключений и переход в отладчик из неудачного теста. Теперь эти шаги выполняются намного быстрее, чем раньше при использовании sys.settrace().

PEP 701: Syntactic formalization of f-strings

В Python 3.12 в f-строках можно использовать кавычки, разрывы строк, escape-последовательности и комментарии.

В PyCharm 2023.3 появились соответствующие инспекции. Кроме того, существующие intention-действия для строковых литералов, например преобразование одних кавычек в другие, теперь работают в соответствии с новым синтаксисом.

Новые возможности f-строк позволят воспользоваться всеми преимуществами анализа кода в PyCharm.

PEP 695: Type Parameter Syntax

В Python 3.12 появился новый удобный синтаксис для классов дженериков, функций и псевдонимов типов.

Он помогает писать меньше кода при работе с типами в Python.

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

Вы можете использовать новый синтаксис при работе с классами дженериков и псевдонимами типов: IDE позаботится обо всех деталях.

PEP 646: Variadic Generics

При реализации PEP 646 был введен новый вид переменной типа — TypeVarTuple для определения вариативных дженериков, т. е. типов дженериков, которые могут иметь произвольное количество параметров типа, аналогично встроенным типам Tuple и Callable. В будущем, когда сообщество начнет активно использовать эту возможность, она обеспечит более точные подсказки типов для многомерных контейнеров, таких как многомерные массивы Numpy и тензоры.

Анализатор типов в PyCharm поддерживает все стандартные проверки для вариативных дженериков. Кроме того, если вы используете синтаксис TypeVar с более старыми версиями Python, то получите предупреждение. PyCharm предложите использовать вместо этого typing_extensions.Unpack.

PEP 647: User-Defined Type Guards

В PEP 647 был предложен способ обработки пользовательских функций как «часовых для типов»: при их использовании в условных выражениях сужаются типы аргументов. Так происходит, например, со встроенными функциями isinstance и issubclass, которые PyCharm уже распознает. Теперь определенная пользователем функция, возвращающая typing.TypeGuard, точно так же влияет на вывод типов в PyCharm.

PEP 675: LiteralString

Версия PyCharm 2023.3 распознает тип LiteralString в коде. Если его использовать, PyCharm проверит, не смешаны ли типы str и LiteralString.

HTTP-клиент
Professional

Поддержка OAuth 2.0

In PyCharm 2023.3, the HTTP Client supports authentication with a new Client Credentials grant type, established with OAuth 2.0 or a Password grant type.

Для ссылки на данные аутентификации в запросах и перехода к файлу JSON, где содержится информация для аутентификации, можно использовать новый синтаксис {$auth.token("my-keycloak1")}.

Получать токены вручную больше не нужно: процесс выполнения запросов стал гораздо проще.

Система контроля версий

Единый инструмент поиска различий

Все измененные файлы из выборки можно загрузить в один фрейм с возможностью прокрутки: новый инструмент поиска различий в PyCharm 2023.3 позволяет посмотреть все изменения сразу. Он поддерживает ревью кода в GitLab, GitHub и JetBrains Space.

Фронтэнд
Professional

Возможность настройки управляемых серверов Jupyter

Автоматическое тестирование: представляем поддержку Cypress и Playwright

Вы используете автоматическое тестирование для веб-приложений? PyCharm 2023.3 поможет улучшить стратегию тестирования. Опираясь на широкую поддержку возможностей pytest, теперь IDE предлагает также поддержку двух ведущих современных инструментов для тестирования веб-приложений: Cypress и Playwright.

PyCharm 2023.3 автоматически найдет тесты Cypress и Playwright, и вы сможете в один клик выполнить их запуск и отладку. Представление дерева тестов обеспечивает навигацию по результатам тестов и помогает в них разобраться.

Улучшения для TypeScript

В PyCharm 2023.3 устранен ряд нарушений правил при добавлении инструкций import type. Мы добавили возможность настроить использование инструкций TypeScript import type или спецификатора типа при импорте типа. Кроме того, улучшено поведение поля exports в package.json для файлов TypeScript.