跳转与定义 #

代码跳转概览 #

VSCode 提供了强大的代码跳转功能,帮助你快速理解代码结构和依赖关系。

text
┌─────────────────────────────────────────────────────────────┐
│                     代码跳转类型                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  跳转到定义  │  │  查看引用    │  │  查看实现    │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
│                                                             │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  类型定义    │  │  查看声明    │  │  快速预览    │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

跳转到定义 #

基本操作 #

功能 Mac Windows/Linux 说明
跳转到定义 F12 F12 跳转到符号定义
跳转到定义(侧边) ⌥F12 Alt+F12 在侧边预览定义
打开定义到侧边 ⌘K F12 Ctrl+K F12 在新编辑器组打开定义

跳转定义示例 #

javascript
// 在这里调用函数
greet('Alice');

// 光标放在 greet 上,按 F12
// 跳转到函数定义

function greet(name) {
    console.log(`Hello, ${name}!`);
}

Ctrl+点击跳转 #

text
在 Windows/Linux 上:
按住 Ctrl 点击符号 → 跳转到定义

在 Mac 上:
按住 ⌘ 点击符号 → 跳转到定义

查看引用 #

基本操作 #

功能 Mac Windows/Linux 说明
查看引用 ⇧F12 Shift+F12 查看所有引用位置
查看引用(侧边) ⇧⌥F12 Shift+Alt+F12 在侧边预览引用

查看引用示例 #

javascript
// 定义变量
const userName = 'Alice';

// 引用 1
console.log(userName);

// 引用 2
return userName;

// 引用 3
updateUser(userName);

// 光标放在 userName 上,按 ⇧F12 / Shift+F12
// 显示所有引用位置

查看类型定义 #

基本操作 #

功能 Mac Windows/Linux 说明
跳转到类型定义 ⌘F12 Ctrl+F12 跳转到类型定义

类型定义示例 #

typescript
// 定义接口
interface User {
    name: string;
    age: number;
}

// 使用接口
const user: User = {
    name: 'Alice',
    age: 25
};

// 光标放在 User 上,按 ⌘F12 / Ctrl+F12
// 跳转到接口定义

查看实现 #

基本操作 #

功能 Mac Windows/Linux 说明
查看实现 ⌘F12 Ctrl+F12 查看接口的实现

查看实现示例 #

typescript
// 定义接口
interface Animal {
    speak(): void;
}

// 实现 1
class Dog implements Animal {
    speak() {
        console.log('Woof!');
    }
}

// 实现 2
class Cat implements Animal {
    speak() {
        console.log('Meow!');
    }
}

// 光标放在 Animal 上,按 ⌘F12 / Ctrl+F12
// 显示所有实现类

快速预览 #

Peek 定义 #

功能 Mac Windows/Linux 说明
预览定义 ⌥F12 Alt+F12 在弹出窗口中预览定义
预览引用 ⇧⌥F12 Shift+Alt+F12 在弹出窗口中预览引用

Peek 窗口操作 #

text
Peek 窗口打开后:
• 按 Esc 关闭窗口
• 按 Enter 跳转到定义
• 使用 ↓ ↑ 导航多个引用

转到声明 #

基本操作 #

功能 Mac Windows/Linux 说明
转到声明 ⌘F12 Ctrl+F12 跳转到符号声明

声明与定义的区别 #

text
声明:告诉编译器符号的存在
定义:提供符号的具体实现

示例(C/C++):
// 声明
void greet();

// 定义
void greet() {
    printf("Hello!\n");
}

返回导航 #

基本操作 #

功能 Mac Windows/Linux 说明
返回 ⌃- Alt+← 返回上一个位置
前进 ⌃⇧- Alt+→ 前进到下一个位置

返回导航示例 #

text
1. 从文件 A 跳转到文件 B(F12)
2. 从文件 B 跳转到文件 C(F12)
3. 按 ⌃- / Alt+← 返回文件 B
4. 再按 ⌃- / Alt+← 返回文件 A

重命名符号 #

基本操作 #

功能 Mac Windows/Linux 说明
重命名符号 F2 F2 重命名当前符号

重命名示例 #

javascript
// 原始代码
const userName = 'Alice';
console.log(userName);

// 光标放在 userName 上,按 F2
// 输入新名称 "memberName"

// 重命名后
const memberName = 'Alice';
console.log(memberName);

代码跳转实战案例 #

案例1:理解函数调用 #

text
场景:理解函数的实现逻辑

步骤:
1. 光标放在函数名上
2. 按 F12 跳转到定义
3. 阅读函数实现
4. 按 ⌃- / Alt+← 返回

案例2:查找变量使用 #

text
场景:查找变量在哪些地方被使用

步骤:
1. 光标放在变量名上
2. 按 ⇧F12 / Shift+F12 查看引用
3. 查看所有使用位置
4. 按 Esc 关闭引用列表

案例3:理解接口实现 #

text
场景:查看接口有哪些实现

步骤:
1. 光标放在接口名上
2. 按 ⌘F12 / Ctrl+F12 查看实现
3. 查看所有实现类
4. 选择要查看的实现

代码跳转工作流 #

text
┌─────────────────────────────────────────────────────────────┐
│                     代码跳转流程                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  需要理解代码                                                │
│     │                                                       │
│     ├─────▶ 查看定义?                                       │
│     │           │                                           │
│     │           ├─ 是 ─▶ F12 跳转                           │
│     │           │        或 ⌥F12 / Alt+F12 预览             │
│     │           │                                           │
│     │           └─ 否 ─▶ 查看引用?                          │
│     │                      │                                │
│     │                      ├─ 是 ─▶ ⇧F12 / Shift+F12       │
│     │                      │                                │
│     │                      └─ 否 ─▶ 查看实现?               │
│     │                                     │                 │
│     │                                     └─ ⌘F12 / Ctrl+F12│
│     │                                                       │
│     └─────▶ 返回上一位置                                     │
│                │                                            │
│                └─▶ ⌃- / Alt+←                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

快捷键速查表 #

跳转操作 #

功能 Mac Windows/Linux
跳转到定义 F12 F12
预览定义 ⌥F12 Alt+F12
查看引用 ⇧F12 Shift+F12
预览引用 ⇧⌥F12 Shift+Alt+F12
跳转到类型定义 ⌘F12 Ctrl+F12
查看实现 ⌘F12 Ctrl+F12

导航操作 #

功能 Mac Windows/Linux
返回 ⌃- Alt+←
前进 ⌃⇧- Alt+→
重命名 F2 F2

常见问题 #

Q: 跳转到定义不工作? #

A: 确保安装了对应语言的扩展,并且项目已正确初始化。

Q: 如何查看多个定义? #

A: 如果符号有多个定义,VSCode 会显示列表让你选择。

Q: 如何在跳转后快速返回? #

A: 使用 ⌃- / Alt+← 返回上一个位置。

练习建议 #

练习1:跳转到定义 #

text
1. 打开一个项目
2. 找到函数调用
3. 使用 F12 跳转到定义
4. 使用 ⌃- / Alt+← 返回

练习2:查看引用 #

text
1. 找到一个变量或函数
2. 使用 ⇧F12 / Shift+F12 查看引用
3. 浏览所有引用位置
4. 使用 ⌥F12 / Alt+F12 预览

练习3:重命名符号 #

text
1. 找到要重命名的变量
2. 使用 F2 重命名
3. 观察所有引用自动更新

下一步 #

现在你已经掌握了跳转与定义,接下来学习:

最后更新:2026-04-11