搜索与替换 #
搜索功能概览 #
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