+++
title = "乱七八糟:VScode那些事"
date = 2024-05-23

[taxonomies]
tags = ["乱七八糟"]
+++

前言 VScode 素有世界最强IDE之称，有着丰富的插件系统，优秀的图形界面和极快的响应速度，本文介绍VSCode的一些使用技巧。

<!-- more -->

## AI 插件

| 插件名                                                                                      |       免费      |     付费     | 单模型 | 多模型 | 说明                                                      |
| ---------------------------------------------------------------------------------------- | :-----------: | :--------: | :-: | :-: | ------------------------------------------------------- |
| **[GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)** | ✔️（试用 / 学生优惠） |     ✔️     |  ❌  |  ✔️ | 主流 AI 编码助手，支持代码补全和聊天建议。([Visual Studio Marketplace][1]) |
| **[GPT (ChatGPT)](https://open-vsx.org/extension/openai/chatgpt)**                       |       ✔️      | ✔️（API 模型） |  ❌  |  ✔️ | 基于 OpenAI 的 ChatGPT，可做代码解释/对话生成                         |
| **[Gemini Code Assist](https://open-vsx.org/extension/Google/geminicodeassist)**         |       ✔️      |      ❌     |  ❌  |  ✔️ | Google Gemini 驱动的智能编码助手                                 |
| **[Claude Code](https://open-vsx.org/extension/Anthropic/claude-code)**                  |    ❓（账户权限）    |     ✔️     |  ❌  |  ✔️ | Anthropic Claude 驱动的编码助手                                |
| **[Cline (claude-dev)](https://open-vsx.org/extension/saoudrizwan/claude-dev)**          |       ✔️      |      ❌     |  ❌  |  ✔️ | 社区版 Claude 型 AI 编码插件                                    |
| **[CodeGeeX](https://open-vsx.org/extension/AMiner/codegeex)**                           |       ✔️      |      ❌     |  ❌  |  ✔️ | 开源多模型 AI код助手                                          |
| **[OpenCode](https://open-vsx.org/extension/sst-dev/opencode)**                          |       ✔️      |      ❌     |  ❌  |  ✔️ | 多模型聚合，可接多种后端                                            |
| **[Windsurf (Codeium)](https://open-vsx.org/extension/Codeium/codeium)**                 |       ✔️      |      ❌     |  ❌  |  ✔️ | 轻量级 AI 代码补全助手（Codeium 改名）                               |

[1]: https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&utm_source=chatgpt.com "GitHub Copilot"


## VS Code 快捷键

### 界面概览

| 快捷键             | 描述             |
|--------------------|------------------|
| `cmd + shift + e`  | 文件资源管理器   |
| `cmd + shift + f`  | 跨文件搜索       |
| `ctrl + shift + g` | 源代码管理       |
| `cmd + shift + d`  | 启动和调试       |
| `cmd + shift + x`  | 扩展管理         |
| `cmd + shift + p`  | 查找并运行所有命令 |
| `cmd + j`          | 打开、关闭面板   |

### 命令行的使用

| 命令                          | 描述                     |
|-------------------------------|--------------------------|
| `code $path`                  | 新窗口中打开文件或文件夹 |
| `code -r $path`               | 窗口复用打开文件         |
| `code -r -g $file:lineno`     | 打开文件并跳转到指定行   |
| `code -r -d $file1 $file2`    | 比较两个文件             |
| `ls code -`                   | 查看可用命令             |

### 光标移动

| 快捷键                     | 描述                   |
|----------------------------|------------------------|
| `option + 左/右方向键`     | 按单词移动光标         |
| `cmd + 左/右方向键`        | 移动到行首/行尾        |
| `cmd + shift + \`          | 在花括号之间跳转       |
| `cmd + 上/下方向键`        | 移动到文档首/尾        |

### 文本选择

- 使用 `shift + 光标移动` 进行文本选择。

### 删除操作

| 快捷键                    | 描述             |
|---------------------------|------------------|
| `cmd + fn + del`          | 删除到行尾       |
| `cmd + del`               | 删除到行首       |
| `option + del`            | 向前删除单词     |
| `option + fn + del`       | 向后删除单词     |

### 代码行编辑

| 快捷键                          | 描述                 |
|---------------------------------|----------------------|
| `cmd + shift + k`               | 删除行               |
| `cmd + x`                       | 剪切行               |
| `cmd + enter`                   | 在当前行下方插入新行 |
| `cmd + shift + enter`           | 在当前行上方插入新行 |
| `option + 上/下方向键`          | 移动当前行           |
| `option + shift + 上/下方向键`  | 复制当前行           |
| `cmd + /`                       | 注释/取消注释当前行 |
| `option + shift + a`            | 注释/取消注释代码块 |
| `option + shift + f`            | 格式化代码           |
| `cmd + k cmd + f`               | 格式化选中代码       |
| `ctrl + t`                      | 调换光标前后字符     |
| `cmd + shift + p` + `transform to up/low case` | 转换大小写 |
| `ctrl + j`                      | 合并代码行           |
| `cmd + u`                       | 撤销光标移动         |

### 创建多个光标

- 使用鼠标：`option + 鼠标左键`
- 使用键盘：

| 快捷键                          | 描述                         |
|---------------------------------|------------------------------|
| `cmd + option + 上/下方向键`    | 创建多个光标                 |
| `cmd + d`                       | 选中相同单词并创建多个光标   |
| `option + shift + i`            | 在选中的多行后创建光标       |

### 文件跳转

| 快捷键         | 描述               |
|----------------|--------------------|
| `ctrl + tab`   | 文件标签之间跳转   |
| `cmd + p`      | 打开文件列表       |

### 行跳转

| 快捷键       | 描述           |
|--------------|----------------|
| `ctrl + g`   | 跳转到指定行   |

### 符号跳转

| 快捷键             | 描述                         |
|--------------------|------------------------------|
| `cmd + shift + o`  | 当前文件所有符号列表         |
| `@:`               | 符号分类排列                 |
| `cmd + t`          | 在多个文件中进行符号跳转     |
| `cmd + F12`        | 跳转到函数的实现位置         |
| `shift + F12`      | 查看函数引用列表             |
| `ctrl + -`         | 跳回上一次光标所在位置       |
| `ctrl + shift + -` | 跳回下一次光标所在位置       |

### 代码自动补全

| 快捷键                   | 描述                 |
|--------------------------|----------------------|
| `ctrl + space`           | 调出建议列表         |
| `cmd + shift + space`    | 调出参数预览窗口     |
| `cmd + .`                | 快速修复建议列表     |
| `F2`                     | 函数名重构           |

### 代码折叠

| 快捷键             | 描述           |
|--------------------|----------------|
| `cmd + option + [` | 最内层折叠     |
| `cmd + option + ]` | 最内层展开     |
| `cmd + k cmd + 0`  | 全部折叠       |
| `cmd + k cmd + j`  | 全部展开       |

### 搜索

| 快捷键               | 描述                   |
|----------------------|------------------------|
| `cmd + f`            | 搜索                   |
| `cmd + g`            | 搜索并跳转             |
| `cmd + option + f`   | 查找替换               |
| `cmd + shift + f`    | 多文件搜索             |

### 编辑器操作

| 快捷键                          | 描述                     |
|---------------------------------|--------------------------|
| `cmd + \`                       | 拆分编辑器               |
| `option + cmd + 左/右方向键`    | 编辑器间切换             |
| `cmd + 数字键`                  | 在拆分的编辑器窗口跳转   |
| `cmd + /`                       | 缩放整个工作区           |
| `cmd + shift + p` + `reset zoom`| 重置缩放                 |

### 专注模式

| 快捷键                          | 描述                     |
|---------------------------------|--------------------------|
| `cmd + b`                       | 打开或关闭侧边栏         |
| `cmd + j`                       | 打开或关闭面板           |
| `cmd + shift + p` + `Toggle Zen Mode` | 切换禅模式         |
| `cmd + shift + p` + `Toggle Centered Layout` | 切换居中布局 |

### 命令面板

| 快捷键             | 描述         |
|--------------------|--------------|
| `cmd + shift + p`  | 打开命令面板 |

命令面板的前缀符号功能：

- `?`：列出所有可用功能
- `>`：显示所有命令
- `@`：显示并跳转文件中的符号
- `@:`：按类别归类符号
- `#`：显示并跳转工作区中的符号
- `:`：跳转到当前文件中的某一行
- `edt`：显示所有已打开的文件
- `edt active`：显示当前活动组中的文件
- `ext`：插件管理
- `ext install`：搜索和安装插件
- `task`：任务管理
- `debug`：调试功能
- `term`：创建和管理终端实例
- `view`：打开各个 UI 组件

### 窗口管理

| 快捷键                   | 描述                   |
|--------------------------|------------------------|
| `ctrl + w`               | 关闭当前窗口           |
| `ctrl + r`               | 切换文件夹             |
| `ctrl + r` + `cmd + enter` | 新建窗口打开文件夹   |

### 集成终端

| 快捷键                                        | 描述                       |
|-----------------------------------------------|----------------------------|
| `ctrl + \``                                   | 切换集成终端               |
| `ctrl + shift + \``                           | 新建集成终端               |
| `cmd + shift + p` + `Run Active File In Active Terminal` | 在终端中运行当前文件 |
| `cmd + shift + p` + `Run Selected Text In Active Terminal` | 在终端中运行选中文本 |

### 任务管理

| 快捷键                                        | 描述                     |
|-----------------------------------------------|--------------------------|
| `cmd + shift + p` + `run task`                | 自动检测可运行的任务     |
| `cmd + shift + p` + `Configure Task`          | 配置任务                 |
| `cmd + shift + b`                             | 运行默认的生成任务       |

### 鼠标操作

- **文本选择**：
  - 双击：选中单词
  - 三击：选中一行
  - 四击：选中整个文档
  - 单击行号：选中整行

- **文本编辑**：
  - 拖动选中文本：移动文本
  - 拖动时按住 `option`：复制文本

- **函数提示**：
  - 在悬停窗口上按下 `cmd`：提示函数的实现


## 浏览器快捷键

### 常用

| 快捷键               | 描述             |
|----------------------|------------------|
| Ctrl + A             | 全选             |
| Ctrl + C             | 复制             |
| Ctrl + X             | 剪切             |
| Ctrl + V             | 粘贴             |
| Ctrl + F             | 查找             |
| Ctrl + Q             | 退出             |
| Ctrl + T             | 新建标签页       |
| Ctrl + W             | 关闭标签页       |
| Ctrl + N             | 新建窗口         |
| Ctrl + Shift + P     | 新建隐私浏览窗口 |

### 历史

| 快捷键                  | 描述                       |
|-------------------------|----------------------------|
| Ctrl + H                | 历史侧栏                   |
| Ctrl + Shift + H        | 我的足迹窗口（历史）       |
| Ctrl + Shift + Del      | 清除最近历史记录           |

### 书签

| 快捷键                        | 描述                               |
|-------------------------------|------------------------------------|
| Ctrl + D                      | 将此页加为书签                     |
| Ctrl + I                      | 页面信息                           |
| Ctrl + Shift + O              | 显示全部书签（我的足迹窗口）       |
| Ctrl + B / Ctrl + Shift + B   | 书签侧栏 / 顶栏                    |

### 下载与插件

| 快捷键               | 描述           |
|----------------------|----------------|
| Ctrl + Shift + Y     | 下载           |
| Ctrl + Shift + A     | 附加组件 / 插件 |

### 控制台与开发

| 快捷键               | 描述             |
|----------------------|------------------|
| Ctrl + Shift + K     | Web 控制台       |
| Ctrl + Shift + C     | 查看器           |
| Shift + F7           | 样式编辑器       |
| Shift + F5           | 分析器           |
| Ctrl + Shift + E     | 网络             |
| Ctrl + U             | 页面源码         |
| Ctrl + Shift + J     | 浏览器控制台     |

### 标签页与界面

| 快捷键                        | 描述                     |
|-------------------------------|--------------------------|
| Ctrl + S                      | 界面保存                 |
| Ctrl + +                      | 放大                     |
| Ctrl + -                      | 缩小                     |
| Ctrl + 0                      | 重置缩放                 |
| Ctrl + K / J                  | 搜索                     |
| Ctrl + Home / End             | 到文件头 / 尾            |
| Ctrl + Page Up                | 切换到左边标签页         |
| Ctrl + Page Down              | 切换到右边标签页         |
| Ctrl + Shift + Page Up        | 当前标签页左移           |
| Ctrl + Shift + Page Down      | 当前标签页右移           |

### 其他操作

| 快捷键             | 描述             |
|--------------------|------------------|
| Alt + Space        | KDE 搜索栏       |
| Alt + → / ←        | 前进 / 后退      |
| Alt + 数字键       | 选择标签页（1–8）|
| Alt + M            | 静音             |
| End                | 到达页尾         |
| Home               | 到达页首         |
| F6                 | 地址栏           |


---
**Done.**
