VSCode 设置指南
配置通过 GitHub 账号同步(Settings Sync)。 Cmd+Shift+P → Settings Sync: Turn On → 登录 GitHub → 选择同步项即可。 同步内容:设置、快捷键、插件、代码片段、UI 状态。
一、主题配置
| 类型 | 当前值 | 设置项 |
|---|
| 颜色主题 | Catppuccin Mocha | workbench.colorTheme |
| 文件图标主题 | JetBrains Icons | workbench.iconTheme |
| 产品图标主题 | 未设置(默认) | workbench.productIconTheme |
切换方式:Cmd+K Cmd+T(颜色主题)、Cmd+Shift+P → File Icon Theme。
二、已安装插件
✅ = 当前启用中 ⚠️ = 配置冲突或未使用
AI 工具
| 插件 | 说明 | 状态 |
|---|
anthropic.claude-code | Claude Code AI 编程助手 | ✅ |
kilocode.kilo-code | Kilo Code AI 助手 | 装了未必常用 |
kilocode.ba-code | BA Code(Kilo Code 相关) | 装了未必常用 |
openai.chatgpt | ChatGPT 插件 | 装了未必常用 |
语言支持
| 插件 | 说明 | 状态 |
|---|
golang.go | Go 语言全套支持(gopls、测试、调试) | ✅ |
ms-python.python | Python 语言支持 | ✅ |
ms-python.vscode-pylance | Python 语言服务器(类型推断、补全) | ✅ |
ms-python.debugpy | Python 调试器 | ✅ |
ms-python.vscode-python-envs | Python 虚拟环境管理 | ✅ |
dotjoshjohnson.xml | XML 语言工具(格式化、校验) | ✅ |
Vim 模拟
| 插件 | 说明 | 状态 |
|---|
asvetliakov.vscode-neovim v1.19.0 | 真实 neovim 进程驱动,完整 vim 生态 | ✅ |
neovim 路径:/opt/homebrew/bin/nvim(v0.12.2) 配置文件:~/.config/nvim/init.lua 自定义绑定:Space f o 切换文件浏览器,Space t t 切换终端
格式化 / 代码质量
| 插件 | 说明 | 状态 |
|---|
esbenp.prettier-vscode | Prettier 代码格式化(JS/TS/CSS 等) | ✅ |
dominicvonk.parameter-hints | 函数调用参数名内联提示 | ✅ |
christian-kohler.path-intellisense | 文件路径自动补全 | ✅ |
Markdown
| 插件 | 说明 | 状态 |
|---|
shd101wyy.markdown-preview-enhanced | 增强预览:Mermaid、数学公式、目录、导出 HTML/PDF | ✅ 主用 |
bierner.markdown-preview-github-styles | 内置预览套 GitHub 样式(备用) | 备用 |
timgreen.vscode-auto-open-markdown-preview-enhanced | 打开 .md 时自动唤起 Preview Enhanced | ✅ |
yzane.markdown-pdf | Markdown 导出为 PDF | 按需使用 |
打开预览:Cmd+K V 或 Cmd+Shift+P → Markdown Preview Enhanced: Open Preview
图表工具
| 插件 | 说明 | 状态 |
|---|
hediet.vscode-drawio | Draw.io 流程图直接在编辑器内编辑 | ✅ |
jebbs.plantuml | PlantUML 图表支持 | 按需使用 |
开发工具
| 插件 | 说明 | 状态 |
|---|
formulahendry.code-runner | 一键运行当前文件/选中代码 | ✅ |
mechatroner.rainbow-csv | CSV 文件彩色列高亮 | ✅ |
ritwickdey.liveserver | 本地 HTTP 服务器,保存即刷新浏览器 | 前端开发时用 |
redhat.vscode-rsp-ui | Red Hat 服务器工具(Java 生态) | 可卸载 |
主题(仅装了,未必启用)
| 插件 | 说明 | 状态 |
|---|
catppuccin.catppuccin-vsc | Catppuccin 颜色主题 | ✅ Mocha 启用中 |
sharifdotg.catppuccin-dark-pro | Catppuccin Dark Pro 颜色主题 | 备用 |
mostik.jetbrainsicons | JetBrains 文件图标主题 | ✅ 启用中 |
catppuccin.catppuccin-vsc-icons | Catppuccin 文件图标主题 | 备用 |
pkief.material-icon-theme | Material 文件图标主题 | 备用 |
miguelsolorio.fluent-icons | Fluent 产品图标主题 | 备用 |
github.github-vscode-theme | GitHub 颜色主题 | 备用 |
ryanolsonx.solarized | Solarized 颜色主题 | 备用 |
trinm1709.dracula-theme-from-intellij | Dracula(IntelliJ 风格)颜色主题 | 备用 |
语言包
| 插件 | 说明 | 状态 |
|---|
ms-ceintl.vscode-language-pack-zh-hans | VSCode 界面简体中文汉化 | ✅ |
三、常用快捷键(Mac)
面板 / 视图
| 按键 | 功能 |
|---|
Cmd+B | 切换侧边栏显示/隐藏 |
Cmd+Shift+E | 打开文件浏览器(Explorer) |
Cmd+Shift+F | 打开全局搜索 |
Ctrl+Shift+G | 打开 Git 面板(注意是 Ctrl 不是 Cmd) |
Cmd+Shift+D | 打开调试面板 |
Cmd+Shift+X | 打开插件市场 |
Cmd+J | 切换底部面板(终端/输出/问题) |
Ctrl+` | 打开/关闭终端(neovim 下可能失效,用 Cmd+J) |
Cmd+Shift+U | 打开输出面板 |
Cmd+Shift+M | 打开问题面板(错误/警告) |
Cmd+Shift+Y | 打开调试控制台 |
文件操作
| 按键 | 功能 |
|---|
Cmd+P | 快速打开文件 |
Cmd+N | 新建文件 |
Cmd+W | 关闭当前标签页 |
Cmd+Shift+T | 重新打开刚关闭的标签 |
Cmd+K Cmd+W | 关闭所有标签页 |
Ctrl+Tab | 在已打开文件间切换 |
Cmd+\ | 向右分屏 |
编辑
| 按键 | 功能 |
|---|
Cmd+Z | 撤销 |
Cmd+Shift+Z | 重做 |
Cmd+X | 剪切当前行 |
Cmd+C | 复制当前行(无选中时) |
Opt+↑/↓ | 移动当前行上/下 |
Opt+Shift+↑/↓ | 复制当前行到上/下 |
Cmd+Shift+K | 删除当前行 |
Cmd+Enter | 在下方插入新行 |
Cmd+Shift+Enter | 在上方插入新行 |
Cmd+/ | 切换行注释 |
Opt+Shift+A | 切换块注释 |
Tab / Shift+Tab | 增加/减少缩进 |
Cmd+] / Cmd+[ | 增加/减少缩进 |
搜索 / 跳转
| 按键 | 功能 |
|---|
Cmd+F | 在当前文件搜索 |
Cmd+H | 在当前文件替换 |
Cmd+Shift+F | 全局搜索 |
Cmd+G | 跳转到指定行号 |
Cmd+Shift+O | 跳转到文件内 Symbol |
Cmd+T | 全局 Symbol 搜索 |
F12 | 跳转到定义 |
Opt+F12 | Peek 定义(不离开当前文件) |
Shift+F12 | 查找所有引用 |
F2 | 重命名 Symbol |
Cmd+Shift+P | 命令面板 |
多光标 / 选择
| 按键 | 功能 |
|---|
Opt+Click | 添加光标 |
Cmd+D | 选中下一个相同词 |
Cmd+Shift+L | 选中所有相同词 |
Opt+Shift+I | 在选中每行末尾添加光标 |
Cmd+L | 选中当前行 |
Cmd+Shift+↑/↓ | 向上/下扩展列选择 |
代码智能
| 按键 | 功能 |
|---|
Ctrl+Space | 触发补全建议 |
Cmd+. | 快速修复(Quick Fix) |
Shift+Opt+F | 格式化文档 |
Cmd+K Cmd+F | 格式化选中区域 |
二、自定义快捷键
keybindings.json
~/.config/nvim/init.lua(neovim leader 键)
Space 键被 neovim 拦截,必须在 neovim 配置里定义,不能用 VSCode keybindings。 修改后需 Cmd+Shift+P → Reload Window 生效。
三、neovim 拦截的按键(VSCode 对应功能失效)
滚动
| 按键 | Vim 功能 |
|---|
Ctrl+d | 向下滚动半屏 |
Ctrl+u | 向上滚动半屏 |
Ctrl+f | 向下滚动整屏 |
Ctrl+b | 向上滚动整屏 |
Ctrl+e | 向下滚动一行(光标不动) |
Ctrl+y | 向上滚动一行(光标不动) |
跳转
| 按键 | Vim 功能 |
|---|
Ctrl+o | jump list 后退 |
Ctrl+i | jump list 前进 |
Ctrl+] | 跳转到定义 |
Ctrl+r | Redo 重做 |
窗口 / 分屏
| 按键 | Vim 功能 |
|---|
Ctrl+w | 窗口前缀键 |
Ctrl+w h/j/k/l | 切换分屏方向 |
Ctrl+w s | 横向分屏 |
Ctrl+w v | 纵向分屏 |
Ctrl+w q | 关闭当前分屏 |
编辑
| 按键 | Vim 功能 |
|---|
Ctrl+v | Visual Block 列选择模式 |
Ctrl+a | 数字自增 |
Ctrl+x | 数字自减 |
Ctrl+n | 补全向下 |
Ctrl+p | 补全向上 |
不被 neovim 拦截(VSCode 仍有效)
Cmd+ 任意键(Mac 专属)Ctrl+c、Ctrl+z(系统级)F1~F12
四、gopls 配置备忘(settings.json)
Inlay Hints 正确写法
"gopls": {
"ui.inlayhint.hints": { // Hierarchy=ui.inlayhint, Name=hints
"assignVariableTypes": true, // 变量类型提示
"compositeLiteralFields": true, // 结构体字段名提示
"parameterNames": true // 调用参数名提示
}
}
❌ 错误写法(会报 Invalid settings):"ui.inlayHints.X" 或 "hints.X"
避免双重格式化
删除 go.formatTool / go.formatOnSave,由 [go] 块统一走 gopls+gofumpt:
"gopls": { "formatting.gofumpt": true },
"[go]": { "editor.defaultFormatter": "golang.go", "editor.formatOnSave": true }
五、相关配置文件路径
| 文件 | 用途 |
|---|
~/Library/Application Support/Code/User/settings.json | VSCode 全局设置 |
~/Library/Application Support/Code/User/keybindings.json | VSCode 自定义快捷键 |
~/.config/nvim/init.lua | neovim / vscode-neovim 配置 |