! [](https://upload-images.jianshu.io/upload_images/24896955-94443a0b2d7c4b29.gif? imageMogr2/auto-orient/strip)

Being assigned by your boss to take on a project for a colleague who just left…

PyCharm is a Python IDE that comes with a full set of tools to help users improve their productivity while developing in Python, such as debugging, syntax highlighting, Project management, code jumps, smart hints, autocomplete, unit testing, version control, and more. In addition, the IDE provides advanced functionality to support professional Web development within the Django framework.

It also supports Google App Engine and, even cooler, PyCharm supports IronPython! These features, supported by advanced code analysis programs, make PyCharm a powerful tool for professional Python developers and those just starting out.

! [](https://upload-images.jianshu.io/upload_images/24896955-c930ce9ce1798bb8.jpeg?imageMogr2/auto-orient/strip%7CimageVie w2/2/w/1240)

The main function

Code assist

It provides an intelligent, configurable editor with code completion, code snippets, and support for code folding and splitting Windows to help users complete coding tasks faster and more easily.

Project code navigation

The IDE helps users navigate instantly from one file to another, from a method to its declaration or usage, and even across class hierarchies. It can be even faster if users learn to use its shortcuts.

The code analysis

Users can use its coding syntax, error highlighting, intelligent detection, and one-click quick code completion suggestions to make coding more optimized.

! [](https://upload-images.jianshu.io/upload_images/24896955-3ccf103e93b106e0.gif? imageMogr2/auto-orient/strip)

Python refactoring

With this capability, users can easily rename, extract methods/superclasses, import fields/variables/constants, move and push/back refactoring at project scope.

Support Django

With its built-in HTML, CSS, and JavaScript editors, users can more quickly develop their Web through the Djang framework. It also supports CoffeeScript, Mako and Jinja2.

! [](https://upload-images.jianshu.io/upload_images/24896955-514c31a049603334.gif? imageMogr2/auto-orient/strip)

Support for Google App Engine

Users can choose to use Python 2.5 or 2.7 to develop applications for the Google APp Engine and perform routine deployment.

Integrated version control

Login, logging, view splitting and merging — all of these features are available in its unified VCS user interface (available for Mercurial, Subversion, Git, Perforce and other SCMS).

Graphical page debugger

Users can tune Python or Django applications and test units with a full-featured debugger with breakpoints, stepping, multiscreen views, Windows, and evaluation expressions.

Unit tests for integration

Users can run a test file, a single test class, a method, or all test items in a single folder.

Customizable & extensible

You can bind Textmate, NetBeans, Eclipse& Emacs keyboard master and emulated plug-ins.

! [](https://upload-images.jianshu.io/upload_images/24896955-d5503fd424789a33.jpg?imageMogr2/auto-orient/strip%7CimageView 2/2/w/1240)

shortcuts

There are shortcuts to Basic Code completion.

In daily code writing, Basic Code completion is often used to intelligently prompt you or help you complete the rest of the code. However, this shortcut key is the most controversial one, because its shortcut is Ctrl + Space, which will conflict with our input method shortcut key, so we need to change this shortcut key in the first step, I generally like to change to Ctrl + Comma. (How to change the default shortcut keys is described below.)

! [](https://upload-images.jianshu.io/upload_images/24896955-e10a03b14959e046.jpg?imageMogr2/auto-orient/strip%7CimageView 2/2/w/1240)

Mixer Tab

Tab has two cases:

1. When you type nothing, Tab is just an indent of 4 Spaces.

2. When you enter the first few letters, PyCharm will list all the candidates. When you press Tab, the first candidate will be selected by default. You may not think that’s a big deal, but this feature keeps your hands in the “letters” area of your keyboard, and you don’t have to press up, down, left, or right to select a candidate, providing fast typing and a very smooth flow.

◆ Shift+Enter — Smart Line break

Mouse over here (): MOUSE over here (), I want to switch to the correct position on the next line, Shift+Enter smart line break

◆ Other shortcuts – If you are interested, check out the Default Keymap Reference for a surprise!