搜索与替换 #

搜索功能概览 #

VSCode 提供了强大的搜索功能,支持文件内搜索、全局搜索、正则表达式等。

text
┌─────────────────────────────────────────────────────────────┐
│                     搜索功能层级                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                  全局搜索 (⌘⇧F)                      │   │
│  │  ┌─────────────────────────────────────────────┐    │   │
│  │  │            文件夹搜索                         │    │   │
│  │  │  ┌─────────────────────────────────────┐    │    │   │
│  │  │  │         文件内搜索 (⌘F)              │    │    │   │
│  │  │  └─────────────────────────────────────┘    │    │   │
│  │  └─────────────────────────────────────────────┘    │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

文件内搜索 #

基本操作 #

功能 Mac Windows/Linux 说明
查找 ⌘F Ctrl+F 在当前文件中查找
替换 ⌥⌘F Ctrl+H 在当前文件中替换
查找下一个 ⌘G F3 跳转到下一个匹配项
查找上一个 ⇧⌘G Shift+F3 跳转到上一个匹配项

搜索选项 #

功能 Mac Windows/Linux 说明
区分大小写 ⌥⌘C Alt+C 切换大小写敏感
全词匹配 ⌥⌘W Alt+W 只匹配完整单词
正则表达式 ⌥⌘R Alt+R 使用正则表达式

文件内搜索示例 #

javascript
// 搜索 "user"
const userName = 'Alice';
const userAge = 25;
const userEmail = 'alice@example.com';

// 按 ⌘F / Ctrl+F
// 输入 "user"
// 所有 "user" 被高亮

文件内替换 #

基本操作 #

text
1. 按 ⌥⌘F / Ctrl+H 打开替换面板
2. 输入搜索内容
3. 输入替换内容
4. 按 Enter 或点击替换按钮

替换选项 #

功能 说明
替换下一个 替换当前匹配项并跳转到下一个
替换全部 替换所有匹配项

文件内替换示例 #

javascript
// 原始代码
const userName = 'Alice';
const userAge = 25;
const userEmail = 'alice@example.com';

// 按 ⌥⌘F / Ctrl+H
// 搜索:user
// 替换:member
// 点击 "替换全部"

// 替换后
const memberName = 'Alice';
const memberAge = 25;
const memberEmail = 'alice@example.com';

全局搜索 #

基本操作 #

功能 Mac Windows/Linux 说明
全局搜索 ⌘⇧F Ctrl+Shift+F 在整个项目中搜索
全局替换 ⌘⇧H Ctrl+Shift+H 在整个项目中替换

全局搜索选项 #

功能 Mac Windows/Linux 说明
区分大小写 ⌥⌘C Alt+C 切换大小写敏感
全词匹配 ⌥⌘W Alt+W 只匹配完整单词
正则表达式 ⌥⌘R Alt+R 使用正则表达式

全局搜索示例 #

text
按 ⌘⇧F / Ctrl+Shift+F
→ 输入搜索内容
→ 显示所有匹配的文件和位置
→ 点击结果跳转到对应位置

文件过滤 #

包含文件 #

在全局搜索中,可以指定要搜索的文件:

text
搜索框下方有 "要包含的文件" 输入框

示例:
• *.js → 只搜索 JS 文件
• src/** → 只搜索 src 目录
• *.ts,*.tsx → 搜索 TS 和 TSX 文件

排除文件 #

在全局搜索中,可以排除不需要搜索的文件:

text
搜索框下方有 "要排除的文件" 输入框

示例:
• node_modules → 排除 node_modules 目录
• *.min.js → 排除压缩文件
• dist,build → 排除构建目录

正则表达式搜索 #

常用正则表达式 #

表达式 说明
. 匹配任意字符
* 匹配 0 次或多次
+ 匹配 1 次或多次
? 匹配 0 次或 1 次
\d 匹配数字
\w 匹配字母、数字、下划线
\s 匹配空白字符
^ 匹配行首
$ 匹配行尾
[] 字符集合
() 分组
|

正则搜索示例 #

示例1:匹配邮箱 #

javascript
// 正则表达式
[\w.-]+@[\w.-]+\.\w+

// 匹配
alice@example.com
bob.smith@test.org

示例2:匹配 URL #

javascript
// 正则表达式
https?://[\w./-]+

// 匹配
https://www.example.com
http://test.org/path

示例3:匹配函数定义 #

javascript
// 正则表达式
function\s+\w+\s*\(

// 匹配
function greet(
function calculateSum(

正则替换 #

使用 $1$2 等引用分组:

javascript
// 原始代码
const userName = 'Alice';
const userAge = 25;

// 正则搜索:(user)(\w+)
// 正则替换:$2$1

// 替换后
const Nameuser = 'Alice';
const Ageuser = 25;

搜索技巧 #

1. 使用搜索历史 #

text
按 ⌘F / Ctrl+F 后
→ 点击搜索框
→ 显示最近的搜索记录
→ 选择历史搜索

2. 选择所有匹配项 #

text
搜索后
→ 按 ⌥Enter / Alt+Enter
→ 选择所有匹配项
→ 可以同时编辑所有匹配位置

3. 在搜索结果中导航 #

text
全局搜索后
→ 按 ↓ / ↑ 在结果中导航
→ 按 Enter 跳转到文件

搜索工作流 #

text
┌─────────────────────────────────────────────────────────────┐
│                     搜索工作流程                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  需要搜索代码                                                │
│     │                                                       │
│     ├─────▶ 当前文件?                                       │
│     │           │                                           │
│     │           ├─ 是 ─▶ ⌘F / Ctrl+F                       │
│     │           │                                           │
│     │           └─ 否 ─▶ 整个项目?                          │
│     │                      │                                │
│     │                      ├─ 是 ─▶ ⌘⇧F / Ctrl+Shift+F     │
│     │                      │                                │
│     │                      └─ 否 ─▶ 指定文件?               │
│     │                                     │                 │
│     │                                     └─ ⌘⇧F + 文件过滤 │
│     │                                                       │
│     └─────▶ 需要替换?                                       │
│                │                                            │
│                ├─ 是 ─▶ ⌥⌘F / Ctrl+H                       │
│                │                                            │
│                └─ 否 ─▶ 继续搜索                             │
│                                                             │
└─────────────────────────────────────────────────────────────┘

快捷键速查表 #

文件内搜索 #

功能 Mac Windows/Linux
查找 ⌘F Ctrl+F
替换 ⌥⌘F Ctrl+H
查找下一个 ⌘G F3
查找上一个 ⇧⌘G Shift+F3
选择所有匹配项 ⌥Enter Alt+Enter

全局搜索 #

功能 Mac Windows/Linux
全局搜索 ⌘⇧F Ctrl+Shift+F
全局替换 ⌘⇧H Ctrl+Shift+H

搜索选项 #

功能 Mac Windows/Linux
区分大小写 ⌥⌘C Alt+C
全词匹配 ⌥⌘W Alt+W
正则表达式 ⌥⌘R Alt+R

常见问题 #

Q: 如何搜索换行符? #

A: 启用正则表达式,使用 \n 匹配换行符。

Q: 如何排除 node_modules? #

A: 在 “要排除的文件” 输入框中输入 node_modules

Q: 如何在搜索结果中快速替换? #

A: 在全局搜索结果中,可以直接点击单个结果旁边的替换按钮进行替换。

练习建议 #

练习1:文件内搜索 #

text
1. 打开一个文件
2. 使用 ⌘F / Ctrl+F 搜索
3. 使用 ⌘G / F3 跳转到下一个匹配项

练习2:全局搜索 #

text
1. 打开一个项目
2. 使用 ⌘⇧F / Ctrl+Shift+F 全局搜索
3. 使用文件过滤缩小搜索范围

练习3:正则搜索 #

text
1. 启用正则表达式模式
2. 搜索邮箱地址
3. 搜索 URL

下一步 #

现在你已经掌握了搜索与替换,接下来学习:

最后更新:2026-04-11