Всем привет! Вчера мы выпустили новый PyCharm 2016.3, который уже доступен для скачивания.
Этот релиз является последним крупным обновлением с новой функциональностью в 2016 году.
С момента предыдущего релиза PyCharm прошло ровно 4 месяца. За это время PyCharm получил ряд новых полезных улучшений в инструментах для Python, Django, веб и научной разработки, которые, как всегда, тесно интегрированы и эффективно работают друг с другом. Сегодня мы рады рассказать, что же интересного и важного появилось в новой версии PyCharm.
Полная поддержка Python 3.6
В первую очередь отметим, что PyCharm 2016.3 полностью поддерживает последний Python 3.6. Сейчас Python 3.6 находится в стабильной beta-стадии, и мы хорошо подготовились к его официальному релизу, запланированному на декабрь этого года. Поддерживаются следующие стандарты:
- PEP 526: Синтаксис аннотаций переменных. Теперь PyCharm понимает новый синтаксис аннотаций типов переменных и использует эту информацию для вычисления типов в коде. В конечном счете это выражается в улучшенном анализе и автодополнении кода. Также по Alt+Enter PyCharm умеет конвертировать аннотации в комментариях в новый синтаксис и обратно.
- PEP 498: Форматированные строчные литералы. PyCharm понимает синтаксис новой конструкции f-strings и предоставляет специальное автодополнение внутри f-strings. По Alt-Enter можно автоматически сконвертировать традиционно отформатированные строки с помощью % и str.format() в новый формат, введенный в Python 3.6.
- PEP 515: Подчеркивания в численных литералах. Этот стандарт расширяет синтаксис Python. Теперь подчеркивания могут служить разделителями между цифрами в численных литералах.
- PEP 525 и PEP 530. Эти два стандарта описывают асинхронные генераторы и включения. Для них мы добавили в PyCharm новые инспекции.
Поддержка Django
Мы дополнили поддержку Django-проектов парой небольших улучшений:
- В PyCharm 2016.3 можно создавать новый Django-проект для запуска и отладки на удаленной машине без необходимости настраивать локальный интерпретатор. Можно указать интерпретатор, находящийся на VM, в Docker-контейнере или удаленном сервере, на этапе создания проекта.
- Мы реализовали автодополнение, специфичное для Django-форм в Django Views, реализованных в классах, — таким же образом, как в прошлом релизе для Views, реализованных через функции.
Многострочные команды в Python-консоли
В этом релизе мы пофиксили много багов в Python-консоли, в основном касающиеся форматирования и отображения многострочных команд. Теперь экспериментировать и писать код в консоли стало намного удобнее и визуально приятнее. В дополнение ко многим небольшим улучшениям Python консоли, мы добавили автодополнение для IPython по нажатии Tab.
Обозреватель переменных
Теперь в режиме отладки в рабочей области находятся только переменные, используемые в текущем проекте. Все служебные и системные переменные скрыты под разделом “Special Variables”. Если используется IPython-интерпретатор, все служебные переменные IPython также помещаются в “Special Variables”:
Для больших массивов, например массивов NumPy или pandas DataFrames, мы добавили возможность просматривать их в отдельном специализированном обозревателе. Достаточно нажать “View as...” в обозревателе переменных:
Активация virtualenv в терминале
Если в качестве интерпретатора проекта используется virtualenv, виртуальное окружение автоматически активируется при запуске встроенного терминала. Автоматическая активация venv работает для bash, zsh, fish и Windows cmd.
Поддержка Docker Compose
На этапе конфигурации удаленного интерпретатора, при выборе Docker Compose конфигурации теперь можно указать несколько файлов, расширяющих Compose-конфигурацию. Если Compose-файлы используют переменные окружения, задать их теперь можно на этом же этапе в специальном поле.
Coverage для ветвлений
В PyCharm 2016.3 встроенный инструмент для анализа покрытия кода был улучшен благодаря новой опции “Branch coverage”. Эта опция по умолчанию отключена, но может быть активирована в настройках Settings (Preferences) | Build, Execution, Deployment | Coverage | Python coverage. Когда опция активирована, PyCharm добавляет информацию о построчном покрытии альтернативных ветвлений в коде к стандартному отчету профилировщика, как показано на скриншоте.
Построчное профилирование
В предыдущем релизе мы добавили поддержку VMprof и уже в этом релизе улучшили ее, добавив режим “profile lines” к отображению прямо в редакторе кода. Этот режим работает по умолчанию при использовании VMprof в режиме профилирования. После сбора статистики, в дополнение к просмотру стандартных отчетов профилировщика, PyCharm отображает результаты построчной профиляции прямо в редакторе. Строки, использующие значительную часть процессорного времени, отображаются разными цветами, от желтого к красному, по возрастанию ресурсоемкости. Чтобы попробовать этот режим, нужно установить пакет vmprof на текущий интерпретатор проекта.
Прочие улучшения
В этом релизе также значительно усовершенствована поддержка передовых веб-технологий: поддержка Flow, улучшенная поддержка TypeScript, поддержка PostCSS, Stylelint и многое другое:
В PyCharm 2016.3 также вошли многие новые возможности и усовершенствования из IntelliJ Platform: улучшены эргономические характеристики и скорость работы журнала VCS, доработано диалоговое окно объединения (Merge), подсветка синтаксиса в диалоговых окнах Diff и Merge, а также интерфейс для управления удаленными репозиториями Git в проекте:
Кроме того, улучшены средства работы с базами данных — спасибо коллегам из команды JetBrains DataGrip:
Ниже короткое демо на английском от Пола Эверита, нашего девелопер-адвоката:
Если вам стало интересно, мы предлагаем 30-дневную бесплатную пробную версию для полнофункционального PyCharm Professional Edition, а в разделе цен можно узнать о стоимости подписки. Многие улучшения этого релиза также доступны в бесплатном PyCharm Community Edition. Различия между PyCharm Professional и Community можно посмотреть здесь.
Узнайте больше о нововведениях и улучшениях в PyCharm 2016.3 на нашем сайте.
Следите также за статьями и обновлениями в нашем англоязычном блоге. Мы будем рады ответить на любые ваши вопросы в комментариях.
Программируйте с удовольствием!
Команда JetBrains
Автор: JetBrains