PyCharm

PyCharm Features & Screenshot Tour

Select tabs below for related PyCharm screenshots and feature descriptions.


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.

Quick definition / documentation view — see the object definition or documentation in-place without losing your context

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.

Read next: Django and web development with PyCharm »

Code Analysis

Numerous code inspections verify Python code as you type and also allow to inspect 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.

Easy Code Navigation and 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.

Python Refactoring

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.




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.

See also: JavaScript Editor, HTML/CSS Editor

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

In addition to Django templates, Mako and Jinja2 can 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.


Read next: Debugger, Google App Engine, etc. »




Run, Debug & Test your Python/Django

As an Integrated Development Environment (IDE) PyCharm provides functions for complete development cycle, including ability to run applications from IDE, unit testing support and integrated graphical debugger.

First, you can run REPL or Django consoles in PyCharm that offer many advantages over the standard ones: on-the-fly syntax check with inspections, braces and quotes matching and pairs autoinsertion and of course code completion. Both consoles are easy to locate under Tools menu.

You can run any Python file. Just right-click what you need to run and select 'Run <your script>'.

You can execute tasks from your manage.py file. Use 'Run manage.py task' action, enter a task name or event part of it and select the one you need. Debugger is started the same way.

Every script/test or debugger execution creates a special 'Run/Debug Configuration' that can be edited and used later. Run/Debug Configurations can be shared with project settings for use by the whole team.


PyCharm IDE lets you run your tests: a test file, a single test class, a method, or all tests in a folder. You can observe results in graphical test runner with execution statistics and simple test-code navigation.

The test runner also works for Django applications, with support for unit tests, doctests and attest.

Google App Engine Python Development

Develop applications for Google App Engine and delegate routine deployment tasks to the IDE. Create your app, run it and deploy it to the App Engine server without leaving PyCharm. Enjoy code completion and error highlighting in GQL queries and in YAML configuration files.

Python Desktop Development

Desktop development support with wxPython, PyQt, PyGTK

Supported Environments

Python 2.x or 3.x, Jython, IronPython and PyPy.




PyCharm code editor provides completion for Python statements, keywords and built-in methods

PyCharm code editor provides completion for Python statements, keywords and built-in methods