Pycharm

PyCharm 是 JetBrains 出品的 Python 主流 IDE,提供智能补全、重构、调试、测试、虚拟环境管理等一站式开发能力。分为 Community(免费)Professional(付费) 两个版本,Professional 额外支持 Django、FastAPI、数据库、远程开发等。

同类工具:VS Code(轻量通用)、IDEA(Java/Kotlin 为主,同 JetBrains 系)。


项目与解释器配置

File → Settings(Ctrl+Alt+S)
    └── Project: <项目名>
        └── Python Interpreter
            ├── 添加本地虚拟环境(venv / conda)
            ├── 添加系统 Python
            └── 添加远程解释器(SSH / Docker)

新建项目时可直接选择解释器类型:

File → New Project
    ├── Pure Python
    ├── Django / FastAPI / Flask(Professional)
    └── Interpreter:New venv / Existing / Conda

虚拟环境

PyCharm 内置对主流虚拟环境工具的支持:

工具说明
venvPython 标准库,轻量首选
conda科学计算场景,管理非 Python 依赖
pip包安装器,与 venv 配合使用
uv极速包管理,PyCharm 2024.1+ 支持

在 Terminal 中操作虚拟环境时,PyCharm 会自动激活当前项目的解释器环境。


核心快捷键

导航

快捷键功能
Double Shift全局搜索(文件、类、符号、操作)
Ctrl+N搜索类
Ctrl+Shift+N搜索文件
Ctrl+Alt+Shift+N搜索符号(函数、变量)
Ctrl+Shift+A搜索 IDE 功能/Action
Ctrl+E最近打开的文件
Alt+F7查找用法(Find Usages)
Ctrl+B / Ctrl+Click跳转到定义
Ctrl+Alt+B跳转到实现
Ctrl+H类继承层级
Alt+←/→前进/后退(导航历史)
Ctrl+G跳转到指定行

编辑

快捷键功能
Alt+Enter快速修复 / 意图操作
Ctrl+Space基础代码补全
Ctrl+D复制当前行/选中
Ctrl+Y删除当前行
Ctrl+Shift+↑/↓上下移动语句
Ctrl+/行注释切换(#
Ctrl+Shift+/块注释切换
Ctrl+Alt+L格式化代码(调用 Black/autopep8)
Ctrl+W扩展选区
Alt+J多光标:选中下一个相同词
Ctrl+Alt+Shift+J多光标:选中所有相同词

重构

快捷键功能
Shift+F6重命名(所有引用同步更新)
Ctrl+Alt+M提取函数(Extract Method)
Ctrl+Alt+V提取变量(Extract Variable)
Ctrl+Alt+C提取常量(Extract Constant)
Ctrl+Alt+P提取参数(Extract Parameter)
F6移动模块/类
Alt+Delete安全删除(检查引用)

运行与调试

快捷键功能
Shift+F10运行最近配置
Shift+F9调试最近配置
Ctrl+Shift+F10运行当前文件
F8单步跳过(Step Over)
F7单步进入(Step Into)
Shift+F8步出(Step Out)
F9恢复执行(Resume)
Alt+F9运行到光标处
Alt+F8求值表达式(Evaluate Expression)
Ctrl+F8切换断点

调试技巧

断点类型

类型用途
行断点最常用,执行到该行时暂停
条件断点右键断点设置条件表达式,只在满足时暂停
日志断点(非挂起)不暂停,仅打印表达式到 Console
异常断点抛出指定异常时暂停

Python Console 调试

Run → Python Console 打开交互式 Python 会话,可在调试暂停时直接执行任意表达式,等同于 pdbp 命令。

远程调试

通过 SSH 连接远程服务器的 Python 解释器(Professional):

Settings → Project → Python Interpreter → Add
    → SSH Interpreter
    → 填写主机、用户名、密钥路径
    → 映射本地路径到远程路径

适合调试 Docker 容器或云端环境,配合 Docker 使用。


代码质量工具

内置检查

PyCharm 内置 PEP 8 检查和类型推断,不需要额外配置即可看到警告。

配置外部格式化工具

Settings → Tools → Black(安装 Black 插件后出现)
    ☑ On code reformat(Ctrl+Alt+L 时自动 Black 格式化)
    ☑ On save

Settings → Tools → External Tools
    → 添加 isort、mypy、pylint 等命令行工具

mypy 类型检查集成

安装 Mypy 插件后,编辑器实时显示类型错误,与 类型注解 配合使用效果最佳。


测试运行

PyCharm 自动识别 pytestunittest 测试文件:

  • 点击测试函数左侧 ▶ 按钮可单独运行/调试该测试
  • Run → Run 'pytest in <folder>' 运行整个测试目录
  • 测试结果面板支持过滤通过/失败,并可直接跳转到失败行
Settings → Tools → Python Integrated Tools
    → Default test runner:pytest(推荐)

Django / FastAPI 支持(Professional)

Django

Settings → Languages & Frameworks → Django
    ☑ Enable Django Support
    → Django project root、Settings file、Manage script 路径
  • 模板文件(HTML)自动补全 Django 模板标签
  • manage.py 命令可在 Run → Manage.py Tasks 中执行
  • ORM 查询在 Console 中可直接执行

FastAPI

  • 路由注解自动识别,Ctrl+B 可从路径装饰器跳转到处理函数
  • Swagger UI 端点在 Run 面板直接预览

版本控制集成

Git 的主要操作均可在 PyCharm 中可视化完成:

面板 / 操作位置
Commit 面板Alt+0(Commit Tool Window)
Git Log 图形Alt+9(Git Tool Window)
冲突解决(3 路合并)Git → Resolve Conflicts
Annotate(git blame)行号处右键 → Annotate with Git Blame
StashGit → Stash Changes

数据库工具(Professional)

Professional 版内置 Database 工具,支持 MySQL、PostgreSQL、SQLite 等,可直接在 PyCharm 中执行 SQL 并查看结果,无需切换到 NavicatDBeaver


插件推荐

插件用途
Black一键 Black 格式化,配合 Ctrl+Alt+L
Mypy实时类型检查,标注类型错误
Ruff超快 linter,替代 flake8/isort
GitToolBox行内显示 git blame 信息
Rainbow Brackets括号着色,层级一目了然
String Manipulation字符串格式互转(驼峰/下划线/Base64)
HTTP Client内置类 Postman,.http 文件发送请求
DockerDocker 容器管理与日志查看
Jupyter支持 .ipynb 文件(Professional 内置)

内存与性能设置

Help → Change Memory Settings

推荐设置(8GB+ 内存):

-Xms512m
-Xmx2g
-XX:ReservedCodeCacheSize=512m

开启省电模式(关闭后台索引分析):

File → Power Save Mode

常用技巧

  • Ctrl+P:在函数调用处显示参数签名
  • Ctrl+Q:快速文档(显示 Docstring)
  • Alt+F1:当前文件在项目树中定位
  • Ctrl+Shift+T:快速跳转到 / 生成测试文件
  • 多剪贴板Ctrl+Shift+V 弹出历史剪贴板
  • 列选择模式Alt+Shift+Insert,再拖拽
  • ScratchesCtrl+Alt+Shift+Insert 新建临时 Python 文件,不影响项目结构

Run Configuration 详细配置

Run → Edit Configurations,每个运行/调试配置可设置:

选项说明
Script path / Module name运行入口(文件路径或 -m module
Parameters命令行参数,如 --port 8080 --debug
Environment variables注入 DATABASE_URL 等环境变量
Working directory脚本运行时的 cwd
Before launch运行前执行的任务(如 make build

多配置场景:为同一脚本建多个 Configuration,分别对应 dev/staging 参数,切换下拉框即可。


Scientific Mode(数据科学)

PyCharm Professional 内置 Jupyter 和科学模式(Community 版需安装 Jupyter 扩展):

Jupyter 支持

  • 直接在 PyCharm 中打开 .ipynb 文件,Cell 级运行
  • 支持变量浏览器(Variables 面板)、绘图内联显示
  • Ctrl+Enter 运行当前 Cell,Shift+Enter 运行并跳到下一个

科学视图

# 在普通 .py 文件中,用注释分隔 Cell
# %%
import pandas as pd
df = pd.read_csv('data.csv')
df.head()    # 结果显示在右侧 SciView

View → Scientific Mode:启用分离视图,左侧代码,右侧图表/数据框。


Profiler 集成

Run → Profile(需 Professional 版):

  • 内置 cProfileyappi 两种采样后端
  • 结果以调用树、火焰图、统计表三种视图展示
  • 可识别热点函数,直接从 Profiler 结果跳转到源码

对于 I/O 密集型性能问题,可用 Run → Concurrency Diagram 查看线程/协程时序。


Code Coverage(覆盖率)

右键测试文件/目录 → Run 'pytest ...' with Coverage

  • 编辑器行号侧边显示绿(覆盖)/ 红(未覆盖)
  • Coverage 面板按模块列出行覆盖率百分比
  • 导出 HTML 报告:Coverage 面板工具栏 → Generate Coverage Report
# pytest.ini:配合 pytest-cov 生成报告
[pytest]
addopts = --cov=src --cov-report=html

Scratch Files(临时文件)

Ctrl+Alt+Shift+Insert

选择 Python,打开一个不属于项目的临时 Python 文件,使用当前项目的解释器环境执行,关闭 PyCharm 后仍保留。

适合:

  • 快速验证一行代码逻辑
  • 测试正则表达式
  • 临时格式化 JSON 字符串

相关链接

  • Python — Python 语言基础
  • pip — Python 包安装器
  • uv — 极速 Python 包管理器
  • Git — 版本控制,PyCharm 内置图形化操作
  • IDEA — 同 JetBrains 系,快捷键体系一致
  • Docker — 远程解释器与容器调试