PyCharm – The intelligent Python IDE with unique code assistance and analysis, for productive Python development on all levels.
Professional Edition — advanced tool for advanced Python and Web development.
Support for modern web development frameworks, such as Django, Flask, Google App Engine, Pyramid, web2py, etc.
Running, debugging and testing applications on remote hosts or virtual machines
Databases and SQL support, Class and database model diagrams
Python Code Editor
Intelligent Code Editor
Syntax highlighting — customizable editor colors for Python code and Django templates. Several predefined color themes.
Auto-Indentation and code formatting — automatic indents inserting on new line. Indents verification and code re-formatting according to project code-style settings.
Code completion for keywords, classes, variables, etc. as you type or via Ctrl-Space. Editor suggestions are context-aware and suggest most appropriate options.
Line and block commenting — single keystroke to comment/uncomment current line or selection
On-the-fly error highlighting — errors are shown as you type. Integrated spell-checker verifies your identifiers and comments for misspellings.
Code snippets — save time using advanced customizable and parametrized code templates and snippets.
Code folding, auto-insertion of braces, brackets & quotes, Matching brace/bracket highlighting, etc.
Easy Code Navigation & Search
Go to class / file / symbol — crucial operations for fast project navigation. Use wild-cards and abbreviations to locate needed items faster.
Go to declaration — when invoked from a reference, opens the corresponding file and navigates to the symbol declaration.
Find Usages — helps you locate usages of any symbol (e.g., class, method, field, etc.) in your code, in the current file or in the whole project.
Numerous code inspections verify Python code as you type and also allow inspecting the whole project for possible errors or code smells.
Quick-fixes for most inspections make it easy to fix or improve the code instantly. Alt+Enter shows appropriate options for each inspection.
Configurable language injections
Language injections allow you to natively edit non-Python code, which is embedded into string literals, with code completion, error-highlighting, and other coding assistance features.
Rename refactoring allows to perform global code changes safely and instantly. Local changes within a file are performed in-place.
Refactorings work in plain Python and Django projects.
Use Introduce Variable/Field/Constant and Inline Local for improving the code structure within a method, Extract Method to break up longer methods, Extract Superclass, Push Up, Pull Down and Move to move the methods and classes.
Quick definition / documentation view — see the object definition or documentation in-place without losing your context.
External documentation view in browser for Python standard library, Django and Google App Engine (Shift-F1).
Epydoc and reStructuredText markup highlighting and code completion for tags and tag parameters. Docstrings and the code matching verification, and autoupdate on refactoring.
Automatic generation of a docstring stub (either Epydoc or reStructuredText) for a method.
Django Templates Editing
While working with Django projects you can use all standard editor actions provided by JetBrains IDEs and rely on appropriate assistance, starting from syntax/error highlighting to advanced refactorings.
Code completion works for Django tags, filters, template variables and parameters passed from view methods.
Quick documentation lookup shows information for tags and filters.
Inspections verify you code for duplicate block names, tags open-close structure, unresolved template references, etc.
Time-saving editor actions include: automatic code formatting and indentation, code snippets/live templates, brackets and quotes autoclosing, code commenting and “Surround with tag” options.
Django-Specific Code and Files
Code insight for Django models and fields: navigation, autocompletion with type inference.
Special coding assistance within standard files: urls.py and settings.py: files, folders, view methods, templates navigation and autocompletion, regexp injection and highlighting. Intentions to create view and template from usage.
Internationalization (i18n) options allow quick extraction of strings to resource bundles with automatic code update. Easy navigation is available between string references and its value.
Other Templating Languages
Mako and Jinja2 can also be used for any project with syntax highlighting, code completion, formatting, quick navigation and Structure view.
Django Templates Debugging
PyCharm allows setting breakpoints inside Django templates. Stop your web application right where you need, for a detailed code step through.
CoffeeScript & TypeScript
PyCharm offers a powerful CoffeeScript & TypeScript editor with features like syntax highlighting with error checking, code completion and coding assistance, code formatting and quick navigation.
Advanced features are also available and include code inspections, usages search and refactorings.
and much more ..