---
url: https://eoht.net/notes/vscode.md
description: 整理 VS Code 命令行打开文件和窗口的方法、常用 settings.json 配置、正则查找与捕获组替换，以及多光标和折叠操作，说明平台与快捷键差异。
---

# VS Code 使用技巧：命令行、settings.json、正则查找与快捷键 {#vs-code-tips}

## 命令行工具 {#command-line-tools}

先在终端运行 `code --version`。macOS 若找不到 `code`，用 `Cmd+Shift+P` 打开命令面板，执行 **Shell Command: Install 'code' command in PATH**，然后重开终端。Windows 和 Linux 则检查安装方式是否已将 VS Code 的命令目录加入 PATH。

| 命令 | 作用 |
| --- | --- |
| `code .` | 打开当前目录 |
| `code -r .` | 在最近活动的窗口打开当前目录 |
| `code -n` | 打开一个新窗口，不是创建新文件 |
| `code notes.md` | 打开指定文件；文件不存在时，编辑并保存后创建 |
| `code --locale=zh-CN` | 指定显示语言，所需语言包应已安装 |
| `code --diff file1 file2` | 比较两个文件 |
| `code --disable-extensions .` | 本次启动禁用扩展，适合排查扩展影响 |
| `code --help` | 查看当前版本支持的选项 |

路径含空格时用引号包住，例如 `code "My Project"`。更多选项见 [VS Code 官方命令行文档](https://code.visualstudio.com/docs/configure/command-line)。

## 自定义设置 {#custom-settings}

在命令面板打开 **Preferences: Open User Settings (JSON)** 修改个人设置；项目专用设置放在该项目的 `.vscode/settings.json`。下面是可按需取用的完整 JSON 示例，不必覆盖已有文件：

```json
{
  "editor.fontSize": 18,
  "window.zoomLevel": 1,
  "editor.fontFamily": "Fira Code, monospace",
  "editor.fontLigatures": true,
  "files.autoSave": "afterDelay",
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,
  "editor.tabSize": 4,
  "editor.renderWhitespace": "all"
}
```

字体需要先安装；自动格式化需要当前语言有可用且已选定的格式化器。项目的编辑器设置、语言专用设置或 EditorConfig 也可能影响缩进和格式化结果，遇到差异时在设置界面检查实际生效来源。

## 正则查找、转义与捕获组替换 {#escape-characters-in-vscode-regex}

在查找框中启用 **Use Regular Expression**（`.*`）后再输入表达式。先看匹配结果，确认范围后执行替换；普通文本查找不需要为正则符号转义。

| 表达式 | 含义与示例 |
| --- | --- |
| `\t`、`\r`、`\n` | 制表符、回车、换行 |
| `\u0020` | Unicode 空格字符；`\u` 后是四位十六进制码 |
| `\.`、`\(`、`\\` | 匹配字面量点、左括号、反斜杠 |
| `[ae]`、`[^ae]` | 匹配 a/e 中一个字符，或匹配它们以外的一个字符 |
| `[a-z]` | 匹配小写英文字母范围 |
| `.` | 通常匹配换行之外的任意单个字符 |
| `\w`、`\W` | 单词字符及其反集；不要把 `\w` 当成全部汉字 |
| `\s`、`\S` | 空白字符及其反集，空白不只包含普通空格 |
| `\d`、`\D` | 数字字符及其反集 |
| `[\u4e00-\u9fff]` | 一段常用汉字范围，不涵盖全部汉字和中文标点 |
| `*`、`+`、`?` | 前一项重复零次以上、一次以上、零次或一次 |
| `e{3}`、`e{1,3}` | 三个 e；一至三个 e |
| `cat\|dog` | 匹配 cat 或 dog |
| `(pattern)` | 捕获组，替换框用 `$1`、`$2` 等引用 |

例如查找 `([A-Za-z]+)\s+([A-Za-z]+)`，替换为 `$2 $1`，会将 `one two` 变为 `two one`。这里 `$1`、`$2` 只写在替换框中。当前文件与跨文件搜索的正则支持细节可能不同，复杂表达式应先在目标范围试查。参见 [VS Code 官方编辑文档](https://code.visualstudio.com/docs/editing/codebasics)。

## 多光标与折叠技巧 {#additional-tips}

下面列出 Windows/Linux 默认快捷键；macOS 或已自定义键位的用户，可以在 **Keyboard Shortcuts** 中按操作名称查询当前绑定。

| 操作 | 默认快捷键 |
| --- | --- |
| 选中当前词的下一个匹配项 | `Ctrl+D` |
| 选中当前选区的全部匹配项 | `Ctrl+Shift+L` |
| 在选中各行的行尾添加光标 | `Shift+Alt+I` |
| 折叠、展开当前区域 | `Ctrl+Shift+[`、`Ctrl+Shift+]` |

多光标编辑会同时修改各个位置；退出多光标模式可按 `Esc`。快捷键与扩展或系统快捷键冲突时，优先通过命令面板执行对应操作来确认功能本身是否正常。
