PyCharm
Comprehensive PyCharm shortcuts and workflows for Python development with Django, Flask, and data science tools.
General Shortcuts
Windows/Linux |
macOS |
Description |
Ctrl+Shift+A |
Cmd+Shift+A |
Find Action |
Ctrl+Shift+N |
Cmd+Shift+O |
Go to File |
Ctrl+N |
Cmd+O |
Go to Class |
Ctrl+Shift+Alt+N |
Cmd+Option+O |
Go to Symbol |
Ctrl+E |
Cmd+E |
Recent Files |
Ctrl+Shift+E |
Cmd+Shift+E |
Recent Locations |
Ctrl+G |
Cmd+L |
Go to Line |
Ctrl+F12 |
Cmd+F12 |
File Structure |
Alt+F1 |
Option+F1 |
Select In |
Navigation
Windows/Linux |
macOS |
Description |
Ctrl+B |
Cmd+B |
Go to Declaration |
Ctrl+Alt+B |
Cmd+Option+B |
Go to Implementation |
Ctrl+Shift+B |
Cmd+Shift+B |
Go to Type Declaration |
Ctrl+U |
Cmd+U |
Go to Super Method |
Alt+F7 |
Option+F7 |
Find Usages |
Ctrl+F7 |
Cmd+F7 |
Find Usages in File |
Ctrl+Shift+F7 |
Cmd+Shift+F7 |
Highlight Usages |
Ctrl+Alt+F7 |
Cmd+Option+F7 |
Show Usages |
Ctrl+Click |
Cmd+Click |
Go to Declaration |
Editing
Windows/Linux |
macOS |
Description |
Ctrl+Space |
Ctrl+Space |
Basic Code Completion |
Ctrl+Shift+Space |
Ctrl+Shift+Space |
Smart Code Completion |
Ctrl+Alt+Space |
Ctrl+Option+Space |
Class Name Completion |
Ctrl+Shift+Enter |
Cmd+Shift+Enter |
Complete Current Statement |
Ctrl+P |
Cmd+P |
Parameter Info |
Ctrl+Q |
Ctrl+J |
Quick Documentation |
Shift+F1 |
Shift+F1 |
External Documentation |
Ctrl+F1 |
Cmd+F1 |
Show Error Description |
Alt+Insert |
Cmd+N |
Generate Code |
Ctrl+O |
Ctrl+O |
Override Methods |
Ctrl+I |
Ctrl+I |
Implement Methods |
Windows/Linux |
macOS |
Description |
Ctrl+Alt+L |
Cmd+Option+L |
Reformat Code |
Ctrl+Alt+O |
Ctrl+Option+O |
Optimize Imports |
Ctrl+Alt+I |
Ctrl+Option+I |
Auto-Indent Lines |
Tab |
Tab |
Indent Selection |
Shift+Tab |
Shift+Tab |
Unindent Selection |
Ctrl+Alt+T |
Cmd+Option+T |
Surround With |
Ctrl+/ |
Cmd+/ |
Comment/Uncomment Line |
Ctrl+Shift+/ |
Cmd+Shift+/ |
Comment/Uncomment Block |
Refactoring
Windows/Linux |
macOS |
Description |
F5 |
F5 |
Copy |
F6 |
F6 |
Move |
Shift+F6 |
Shift+F6 |
Rename |
Ctrl+F6 |
Cmd+F6 |
Change Signature |
Ctrl+Alt+N |
Cmd+Option+N |
Inline |
Ctrl+Alt+M |
Cmd+Option+M |
Extract Method |
Ctrl+Alt+V |
Cmd+Option+V |
Extract Variable |
Ctrl+Alt+F |
Cmd+Option+F |
Extract Field |
Ctrl+Alt+C |
Cmd+Option+C |
Extract Constant |
Ctrl+Alt+P |
Cmd+Option+P |
Extract Parameter |
Running and Debugging
Windows/Linux |
macOS |
Description |
Shift+F10 |
Ctrl+R |
Run |
Shift+F9 |
Ctrl+D |
Debug |
Ctrl+Shift+F10 |
Ctrl+Shift+R |
Run Context Configuration |
Ctrl+Shift+F9 |
Ctrl+Shift+D |
Debug Context Configuration |
F8 |
F8 |
Step Over |
F7 |
F7 |
Step Into |
Shift+F7 |
Shift+F7 |
Smart Step Into |
Shift+F8 |
Shift+F8 |
Step Out |
Alt+F9 |
Option+F9 |
Run to Cursor |
Alt+F8 |
Option+F8 |
Evaluate Expression |
Python-Specific Features
Windows/Linux |
macOS |
Description |
Ctrl+Shift+F10 |
Ctrl+Shift+R |
Run Python File |
Alt+Shift+F10 |
Option+Shift+R |
Run Python Console |
Ctrl+Alt+S |
Cmd+, |
Open Settings |
Ctrl+Alt+Shift+S |
Cmd+; |
Project Structure |
Ctrl+Shift+A |
Cmd+Shift+A |
Find Action |
Django Shortcuts
Windows/Linux |
macOS |
Description |
Ctrl+Alt+R |
Cmd+Option+R |
Manage.py Tasks |
Ctrl+Shift+X |
Cmd+Shift+X |
Run Django Server |
Ctrl+Alt+G |
Cmd+Option+G |
Django Console |
Windows/Linux |
macOS |
Description |
Shift+Enter |
Shift+Enter |
Execute Cell |
Ctrl+Enter |
Cmd+Enter |
Execute Cell (Stay) |
Alt+Enter |
Option+Enter |
Execute and Insert Below |
Ctrl+Shift+A |
Cmd+Shift+A |
Add Cell Above |
Ctrl+Shift+B |
Cmd+Shift+B |
Add Cell Below |
Version Control (Git)
Windows/Linux |
macOS |
Description |
Ctrl+K |
Cmd+K |
Commit |
Ctrl+Shift+K |
Cmd+Shift+K |
Push |
Ctrl+T |
Cmd+T |
Update Project |
Alt+9 |
Cmd+9 |
Version Control Tool Window |
Ctrl+Alt+Z |
Cmd+Option+Z |
Rollback |
Search and Replace
Windows/Linux |
macOS |
Description |
Ctrl+F |
Cmd+F |
Find |
F3 |
Cmd+G |
Find Next |
Shift+F3 |
Cmd+Shift+G |
Find Previous |
Ctrl+R |
Cmd+R |
Replace |
Ctrl+Shift+F |
Cmd+Shift+F |
Find in Path |
Ctrl+Shift+R |
Cmd+Shift+R |
Replace in Path |
Windows/Linux |
macOS |
Description |
Alt+1 |
Cmd+1 |
Project Tool Window |
Alt+2 |
Cmd+2 |
Favorites |
Alt+3 |
Cmd+3 |
Find Tool Window |
Alt+4 |
Cmd+4 |
Run Tool Window |
Alt+5 |
Cmd+5 |
Debug Tool Window |
Alt+6 |
Cmd+6 |
TODO Tool Window |
Alt+7 |
Cmd+7 |
Structure Tool Window |
Alt+8 |
Cmd+8 |
Services Tool Window |
Alt+9 |
Cmd+9 |
Version Control |
Alt+0 |
Cmd+0 |
Messages Tool Window |
Best Practices
Virtual Environment Setup
- Create Virtual Environment: Use
python -m venv venv
- Configure Interpreter: File → Settings → Project → Python Interpreter
- Install Packages: Use PyCharm's package manager or pip in terminal
Code Quality
- Enable Inspections: File → Settings → Editor → Inspections
- Use Type Hints: Enable type checking for better code completion
- Configure Code Style: File → Settings → Editor → Code Style → Python
Django Development
- Enable Django Support: File → Settings → Languages & Frameworks → Django
- Configure Templates: Set template directories and language
- Database Tools: Use built-in database browser and SQL console
Debugging Tips
- Conditional Breakpoints: Right-click breakpoint to add conditions
- Exception Breakpoints: Run → View Breakpoints → Python Exception Breakpoints
- Remote Debugging: Configure remote interpreter for debugging on servers