现在位置: 首页 > Pycharm 教程 > 正文

PyCharm 代码导航

代码导航快捷键

熟练掌握快捷键可以让你在代码中快速穿梭,告别鼠标的束缚。

下面是日常开发中最常用的导航快捷键。

核心导航快捷键

功能 Windows/Linux macOS 说明
跳转到定义 Ctrl+B Cmd+B 跳转到变量、函数或类的定义位置
查找引用 Alt+F7 Alt+F7 查找当前符号在项目中的所有引用位置
全局搜索 双击 Shift 双击 Shift 搜索文件、类、符号、操作等一切内容
最近文件 Ctrl+E Cmd+E 打开最近编辑过的文件列表
后退到上一个位置 Ctrl+Alt+Left Cmd+[ 回到上一个光标所在位置
前进到下一个位置 Ctrl+Alt+Right Cmd+] 前进到下一个光标所在位置
跳转到行 Ctrl+G Cmd+L 输入行号直接跳转
查找文件 Ctrl+Shift+N Cmd+Shift+O 按文件名搜索并打开文件
文件结构 Ctrl+F12 Cmd+F12 显示当前文件的类和方法列表

双击 Shift 全局搜索

双击 Shift 是 PyCharm 中最强大的搜索功能。

它可以搜索文件、类名、符号、IDE 操作等一切内容,几乎可以完成任何导航需求。

使用方法:

  • 快速按两次 Shift 键打开 Search Everywhere 对话框
  • 输入关键词即可看到所有匹配结果
  • 按 Tab 可以切换到不同搜索类别(All、Classes、Files、Symbols、Actions)

双击 Shift 是新手最早应该掌握的快捷键,用熟它就能告别在项目文件树中逐层查找的繁琐操作。

Ctrl+B 跳转到定义

将光标放在变量、函数名或类名上,按 Ctrl+B 即可跳转到其定义位置。

按住 Ctrl 键不放时,鼠标悬停在代码上也会显示可点击的链接效果。

示例:在下面的代码中,将光标放在 my_func 上按 Ctrl+B 即可跳转到函数定义处。

实例

# 定义一个简单的函数
def my_func():
    """
    这是 runoob 教程的示例函数
    """

    print("RUNOOB - 学习 PyCharm 快捷导航")

# 调用函数 - 将光标放在 my_func 上,按 Ctrl+B 跳转到定义
my_func()

Alt+F7 查找引用

将光标放在要查找的符号上,按 Alt+F7 查看该符号在项目中的所有引用位置。

查找结果会显示在底部的 Find 工具窗口中,点击条目即可跳转到对应位置。


代码格式化

保持代码风格的一致性是团队协作的重要基础。

PyCharm 提供了自动代码格式化功能,一键即可让代码整齐划一。

快捷键格式化

使用 Ctrl+Alt+L(Windows/Linux)或 Cmd+Option+L(macOS)即可格式化当前文件。

可以选中部分代码后按快捷键,仅格式化选中部分。

格式化规则配置

格式化规则可以在 设置 > 编辑器 > 代码样式 > Python 中进行配置。

可配置的项目包括:

  • 缩进大小(默认 4 个空格)
  • Tab 还是空格缩进(推荐使用空格)
  • 每行最大字符数(默认 120)
  • 空行数量
  • 导入语句排序规则

格式化前后对比

格式化前(缩进不整齐、空行混乱):

实例

# 格式化前的混乱代码
def messy_function(x,y):
      result=x+y
    if result>10:
        print("结果大于 10")
          print("这行缩进不正确")

name="runoob"
print("测试",name)

格式化后(缩进统一、空行规范):

实例

# 格式化后的整齐代码
def messy_function(x, y):
    result = x + y
    if result > 10:
        print("结果大于 10")
        print("这行缩进不正确")


name = "runoob"
print("测试", name)

提交代码前按一下 Ctrl+Alt+L 格式化代码,这是良好的编程习惯。


TODO 注释

TODO 注释是一种标记特殊注释的习惯,用于记录待完成的工作。

添加 TODO 注释

在 Python 代码中使用 # TODO 添加待办事项注释。

实例

# 用户管理模块

class UserManager:
    """用户管理器"""

    def __init__(self, db_name="runoob_users"):
        self.db_name = db_name

    # TODO: 实现用户登录功能
    def login(self, username, password):
        pass

    # TODO: 添加输入验证逻辑
    # TODO: 考虑使用 bcrypt 加密密码
    def register(self, username, password):
        """注册新用户"""
        # 当前为简化实现,仅打印提示
        print(f"注册用户: {username}")

    # FIXME: 这行代码在特殊情况下会出错,需要修复
    def delete_user(self, user_id):
        """删除用户"""
        print(f"删除用户 ID: {user_id}")

    # NOTE: 以下方法依赖外部 API,需要联网
    def sync_data(self):
        """同步数据"""
        pass

TODO 标签类型

PyCharm 默认识别以下几种特殊注释标签:

标签 用途
TODO 标记需要完成的工作
FIXME 标记需要修复的问题
NOTE 添加重要说明

查看 TODO 列表

在工具窗口区域点击 TODO 标签,打开 TODO 工具窗口。

该窗口将项目中所有 TODO、FIXME、NOTE 注释集中显示,支持按范围过滤。

可以设置过滤范围:

  • Current File:仅显示当前文件的 TODO 注释
  • Scope Based:按自定义范围过滤
  • All Places:显示项目中所有 TODO 注释

双击 TODO 条目即可跳转到对应的代码行。

善用 TODO 注释可以让开发过程更有条理,不会遗漏任何待处理的事项。


书签功能

书签功能允许你在代码中标记重要位置,方便快速跳转。

添加书签

将光标放在需要标记的代码行上,按 F11 添加匿名书签。

添加成功后,该行左侧会显示一个对勾标记。

Ctrl+F11 可以添加数字/字母书签,弹窗中选择 0-9 或 A-Z 作为书签编号。

实例

# 项目配置文件
# 这里添加书签标记,方便快速定位关键配置

DATABASE_CONFIG = {
    "host": "localhost",  # 按 F11 添加书签
    "port": 5432,         # 按 Ctrl+F11,选数字 1 添加编号书签
    "name": "runoob_db",
    "user": "admin",
}

# 关键常量定义,可以在此添加书签
MAX_CONNECTIONS = 100     # 按 Ctrl+F11,选数字 2 添加编号书签
TIMEOUT_SECONDS = 30

查看和管理书签

Shift+F11 打开书签列表窗口,查看所有已添加的书签。

在书签列表窗口中:

  • 双击书签条目跳转到对应位置
  • 右键可以删除或重命名书签
  • 支持勾选分类筛选(匿名书签和编号书签)

编号书签还可以通过 Ctrl+数字键 直接跳转,无需打开书签列表。

在大型项目中,书签是追踪多个重要代码位置的神器,建议养成使用习惯。


编辑技巧补充

除了上述功能,以下编辑技巧也能提升日常开发效率。

多光标编辑

按住 Alt 键不放,鼠标点击多个位置,可以同时编辑多行代码。

也可以使用 Ctrl+Shift+Alt+点击 在任意位置放置光标。

代码块移动

选中代码块后,按 Ctrl+Shift+Up/Down 可以上下移动整个代码块。

不需要剪切粘贴,一行代码或整个方法都可以快速调整位置。

复制整行

将光标放在某一行上(无需选中),按 Ctrl+D 可以复制整行。

这是一个非常高频的快捷键,建议立即开始使用。

删除整行

将光标放在某一行上,按 Ctrl+Y 删除整行。

相比先选中再按 Delete,这个操作快得多。


快捷键速查汇总

以下表格汇总了本章涉及的所有快捷键,建议打印或保存以便随时查阅。

操作 Windows/Linux macOS
跳转到定义 Ctrl+B Cmd+B
查找引用 Alt+F7 Alt+F7
全局搜索 双击 Shift 双击 Shift
最近文件 Ctrl+E Cmd+E
后退/前进 Ctrl+Alt+Left/Right Cmd+[/]
跳转到行 Ctrl+G Cmd+L
查找文件 Ctrl+Shift+N Cmd+Shift+O
文件结构 Ctrl+F12 Cmd+F12
代码格式化 Ctrl+Alt+L Cmd+Option+L
添加书签 F11 F11
数字书签 Ctrl+F11 Cmd+F11
书签列表 Shift+F11 Shift+F11
复制整行 Ctrl+D Cmd+D
删除整行 Ctrl+Y Cmd+Delete

这些快捷键不需要一次性全部记住,建议从双击 Shift 开始,每天练习两三个即可。

持续使用几周后,你就会发现编码效率有了质的提升。