Что нового в PyCharm 2024.1

Превью документации для моделей и наборов данных Hugging Face, автодополнение строки целиком для JavaScript и TypeScript на основе локальных ML-моделей, липкие строки и ревью кода в редакторе.

Hugging Face: превью документации для моделей и датасетов

Получайте всю информацию о моделях и наборах данных Hugging Face прямо в PyCharm. Просто наведите курсор на название датасета или модели для просмотра описания во всплывающем окне, или нажмите F1, чтобы открыть окно Documentation рядом с редактором. Для перехода к документации на сайте Hugging Face нажмите ⌘Click (Ctrl+Click в Windows и Linux).

Автодополнение строки целиком для JavaScript and TypeScript PyCharm Professional

В предыдущей версии PyCharm мы представили автодополнение строки целиком на основе машинного обучения, которое работало только для Python. А теперь такое автодополнение доступно для JavaScript, TypeScript и фронтенд-фреймворков. IDE находит вариант, как продолжить ваш код, при помощи специальных языковых моделей, которые учитывают контекст текущего файла и работают локально, не отправляя код в интернет.

Липкие строки в редакторе

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

Ревью кода в редакторе

В PyCharm 2024.1 улучшен процесс код-ревью для пользователей GitHub и GitLab. Новый режим ревью в редакторе упрощает взаимодействие между авторами кода и ревьюерами. При проверке ветки пул/мердж-реквеста режим ревью активируется автоматически. На полях появляются фиолетовые маркеры, указывающие на изменения, требующие проверки. Кликнув по этим маркерам, вы сможете просмотреть исходный код и понять, что изменилось. Иконки на полях редактора помогают быстро начать новое обсуждение, а также посмотреть и скрыть существующие. Кроме того, с их помощью удобно просматривать комментарии, отвечать и реагировать на них. Подробнее

Новый терминал Бета-версия

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

Новые функции AI Assistant PyCharm Professional

Создание файлов со сгенерированным кодом в один клик

Новая функция AI Assistant позволяет быстрее перейти от экспериментов с запросами к написанию реального кода. Теперь над каждым фрагментом кода, сгенерированным JetBrains AI Assistant, появляется кнопка Create a file. Просто нажмите на нее, и PyCharm автоматически создаст файл с правильным расширением и заполнит его кодом.

Генерация SQL-запросов с учетом схемы

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

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

Уменьшение масштаба IDE

Теперь масштаб интерфейса можно не только увеличить, но и уменьшить до 90%, 80% или 70%.

Фреймворки и технологии PyCharm Professional

Регистрация административных классов в окне Django Structure

В PyCharm 2024.1 можно быстро проверить наличие незарегистрированных административных классов и зарегистрировать их в один клик в окне Django Structure.

Поддержка больших приложений Flask и FastAPI в окне Endpoints

При работе над крупными приложениями Flask и FastAPI в PyCharm 2024.1 вы можете использовать окно Endpoints, чтобы отслеживать иерархию конечных точек и быстро находить их объявления в проекте. Такие приложения обычно имеют сложную структуру, построенную на множестве мелких модулей (схемах blueprint во Flask и роутерах в FastAPI). Чтобы сделать эту структуру понятнее и помочь вам разобраться в иерархиях, PyCharm теперь группирует конечные точки по приложениям. Кроме того, PyCharm теперь автоматически определяет конечные точки, объявленные в библиотеках, а также обнаруживает несколько конечных точек с одним и тем же путем доступа и конечные точки для различных HTTP-методов.

Расширенная поддержка GitHub Actions

В PyCharm 2024.1 улучшена поддержка GitHub Actions, которая поможет вам оптимизировать CI/CD-процессы. Теперь при создании скриптов вы сможете быстрее находить нужный синтаксис благодаря автодополнению для различных контекстов, включая github.*, env.*, steps.* и inputs.*. Автодополнение для структур YAML поможет избежать ошибок в рабочих процессах, а специальная функция, позволяющая настраивать внешний вид действий, сделать их более заметными в GitHub Marketplace. Автодополнение Docker-образов упростит интеграцию контейнеров, а автодополнение путей к JavaScript-файлам — настройку действий на JavaScript. Подробнее

Улучшения HTTP-клиента

HTTP-клиент в PyCharm 2024.1 предлагает больше вариантов аутентификации, включая методы PKCE (Proof of Key Code Exchange) Authorization Code и OAuth 2.0 Device Authorization Grant. Кроме того, поддерживаются дополнительные параметры для запросов токенов и аутентификации, а также автоматически обрабатывается генерация code_challenge и передача code_verifier для получения токенов при запросах PKCE. Переход HTTP-клиента на Netty в качестве низкоуровневой сетевой библиотеки обеспечивает поддержку SSL, прокси и HTTP/2, что облегчает внедрение HTTP/2.

Оптимизация обработки JSON-схем

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

Поддержка сервера WireMock

Мы добавили поддержку WireMock через плагин, который можно установить прямо из IDE или скачать с JetBrains Marketplace. С плагином вы сможете пользоваться автодополнением схем в JSON-конфигурациях, генерировать файлы заглушек WireMock в окне Endpoints и запускать серверы прямо из редактора. Это позволит вам быстро создавать тестовые серверы и заглушки, упрощая разработку веб-интерфейсов и микросервисов.

Фронтенд-разработка PyCharm Professional

Использование компонентов в файлах Vue, Svelte и Astro

PyCharm теперь показывает список используемых компонентов в подсказках в редакторе для файлов Vue, Svelte и Astro. Это позволяет быстро находить места использования определенного компонента в проекте.

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

В нашем GraphQL-плагине ускорена индексация и расширены возможности работы со схемами в node_modules и внешних библиотеках.

Улучшения быстрой документации для TypeScript

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

Новые быстрые исправления для React

В PyCharm 2024.1 появилось несколько новых быстрых исправлений для React, которые позволяют создавать пропсы и состояния на лету. Чтобы их применить нажмите ⌥Enter (Alt+Enter на Windows/Linux).

Расширенная поддержка Terraform PyCharm Professional

Благодаря расширению поддержки Terraform, вPyCharm 2024.1 проще создавать инфраструктуру, масштабировать ее и управлять ею. Теперь IDE предлагает запустить terraform init для ускорения инициализации, а также предоставляет расширенное автодополнение для более чем 3900 компонентов Terraform, созданных сторонними разработчиками. Кроме того, в IDE появилась поддержка языка шаблонов Terraform (tftpl), позволяющая создавать динамические шаблоны и легко интегрировать их с вашим языком программирования. Подробнее

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

Статус CI-проверок в окне Git

Мы добавили новый столбец на вкладке Log в окне Git, чтобы было удобно просматривать результаты проверок коммитов в GitHub, выполненных CI-системой.

Создание пул/мердж-реквестов из уведомлений о пуше изменений

После отправки изменений в систему контроля версий PyCharm в одном уведомлении сообщит вам об успешном пуше и предложит создать пул- или мердж-реквест.

Фильтр веток во вкладке History в окне Git

Мы переработали историю файлов в окне Git. Во-первых, кнопка Show all branches заменена на фильтр веток, позволяющий просматривать изменения в указанной ветке для конкретного файла. Во-вторых, панель инструментов теперь располагается горизонтально для удобства использования.

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

  • При работе с GitHub и GitLab теперь можно просмотреть изменения в выбранной ветке на отдельной вкладке Log в окне Git.
  • На комментарии, оставленные к коду во время ревью, теперь можно реагировать с помощью эмодзи.
  • Чтобы избежать отклонения изменений из-за размера файлов, в IDE добавлена проверка перед коммитом, которая не позволяет коммитить слишком большие файлы и сообщает об ограничении.
  • В диалоге Merge into появилась опция Allow unrelated histories, чтобы можно было объединить две ветки, даже если у них нет общей истории.
  • В окне Commit теперь есть отдельная вкладка Stash для просмотра отложенных изменений. Если вы используете и stashes, и shelves, можете включить комбинированную вкладку Stashes and Shelves.
  • Чтобы вы могли сосредоточиться на актуальных изменениях, в инструменте просмотра различий теперь можно указать, какие папки и файлы следует игнорировать в процессе сравнения. Просто щелкните правой кнопкой мыши по нужному файлу или папке и выберите опцию Exclude from results.
  • Во всплывающем окне Branches теперь можно фильтровать результаты поиска по действию и репозиторию.
  • В диалоге Rebase теперь есть опция --update-refs, которая обеспечивает корректное отображение изменений, внесенных в Git-репозиторий во время выполнения перебазирования.
  • В окне Search Everywhere по умолчанию больше нет вкладки Git. Если она вам нужна, можете добавить ее в настройках: Settings/Preferences | Advanced Settings | Version Control. Git.

Инструменты для работы с базами данных PyCharm Professional

Упрощенный подход к сессиям

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

Локальные фильтры в редакторе данных

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

Просмотр отдельной записи

Теперь в редакторе данных можно посмотреть всю информацию из одной записи в удобном виде. Для этого нажмите ⌘⇧Enter на macOS (Ctrl+Shift+Enter на Windows/Linux) или кнопку Show Record View на панели инструментов. Откроется боковая панель с данными из записи. Если данные можно редактировать в таблице, то вы сможете делать это и на панели.

Изменение порядка столбцов в CSV-файле

Начиная с версии 2024.1, в редакторе данных можно менять порядок столбцов в CSV-файле, при этом изменения сохраняются в самом файле.