“转到定义”跳转至符号首次声明/实现处,如函数体开头、变量声明行或class关键字行,快捷键F12;“转到引用”列出所有使用位置(含定义),快捷键Shift+F12,用于影响分析与重构。

“转到定义”跳转到变量、函数或类第一次被声明/实现的地方;“转到引用”则列出所有使用过该符号的位置(包括定义本身)。
转到定义:找“它从哪来”
这是定位符号源头的操作。比如你在一个调用处按 Ctrl+Click(windows/linux)或 Cmd+Click(macos),vscode 会直接打开它被定义的文件和行——对函数是函数体开头,对变量是声明语句,对类是 class 关键字那一行。
- 依赖语言支持(如 typescript、python 的 Pylance、C++ 的 CMake Tools)
- 不适用于未被正确索引的代码(例如没配置好 tsconfig.json 或缺少类型信息)
- 快捷键是 F12,也可右键 → “转到定义”
转到引用:查“它在哪用过”
这个功能展示所有出现该符号的地方,包括定义、调用、传参、继承、导入等上下文。按 Shift+F12 或右键 → “转到引用”,会弹出侧边面板或新标签页,以列表形式呈现全部匹配项。
- 结果里第一项通常是定义位置,后面才是各种使用点
- 适合做重构前的影响分析,比如改函数名前先看有没有漏掉的调用
- 对拼写错误或未解析的符号可能返回空或不全(同样依赖语言服务)
一个小技巧:配合“查找所有引用”用更高效
在引用列表中,你可以直接点击任意一项跳转;按 Enter 在当前编辑器打开,Alt+Enter 在新编辑器打开。如果想批量修改,还可以选中多个引用后一起重命名(需启用 Rename symbol 支持)。
基本上就这些。两个功能互补:一个定源头,一个看全局,配合起来读代码、改逻辑就很顺手。