Релиз PyCharm 2016.3: поддержка Python 3.6, улучшения в Python консоли, обозревателе переменных
PyCharm получил ряд новых полезных улучшений в инструментах для Python, Django, веб и научной разработки, которые, как всегда, тесно интегрированы и эффективно работают друг с другом.
Полная поддержка 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. Эти два стандарта описывают асинхронные генераторы и включения. Добавлены новые инспекции.
Поддержка Django
Дополнена поддержка Django-проектов улучшениями:
- В PyCharm 2016.3 можно создавать новый Django-проект для запуска и отладки на удаленной машине без необходимости настраивать локальный интерпретатор. Можно указать интерпретатор, находящийся на VM, в Docker-контейнере или удаленном сервере, на этапе создания проекта.
- Реализовано автодополнение, специфичное для Django-форм в Django Views, реализованных в классах, — таким же образом, как в прошлом релизе для Views, реализованных через функции.
Многострочные команды в 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 добавляет информацию о построчном покрытии альтернативных ветвлений в коде к стандартному отчету профилировщика
Скачать 30-дневную бесплатную пробную версию полнофункционального PyCharm Professional Edition. Многие улучшения этого релиза также доступны в бесплатном PyCharm Community Edition. Различия между PyCharm Professional и Community:
PyCharm Editions Comparison
General comparison
Free
Supported in Professional and Community Editions
- Intelligent Editor
- Graphical Debugger
- Refactorings
- Code Inspections
- Version Control Integration
- Scientific Tools
Supported only in Professional Edition
- Web development with JavaScript, CoffeeScript, TypeScript, HTML/CSS and more
- Frameworks: Django, Flask, Google App Engine, Pyramid, web2py
- Remote development capabilities: Remote run/debug, VM support
- Database & SQL support
- UML & SQLAlchemy Diagrams
Python, Frameworks & Tools
Free
Supported in Professional and Community Editions
- Core Python language support
- Code Inspections
- Refactoring
- Local debugger
- Test runners
- reStructuredText support
- PyQt
- PyGTK
- Package management
- Virtualenv/Buildout
- Python console
- IPython Notebook
Supported only
in Professional Edition
- Cython
- Django
- AppEngine
- Flask
- Jinja2
- Mako
- web2py
- Pyramid
- Profiler
- SQLAlchemy
- Diagrams
- Remote interpreters, remote debugging, Vagrant, Docker
- Duplicate code detection
- Code coverage
- .po files support
- BDD support
- Profiler integration
- Thread Concurrency Visualization
Platform
Free
Supported in Professional and Community Editions
- XML, HTML, RelaxNG
- Git, Mercurial, CVS, Subversion, GitHub
- IntelliLang
- Local terminal
- Task management
Supported only in Professional Edition
- CSS/HAML/SASS/LESS/Stylus
- YAML
- Database/SQL
- JavaScript and JS Debugger
- Perforce, TFS
- FTP/SFTP/FTPS remote host deployment
- TextMate bundles
- REST Client
- Puppet
- File watchers