用途
本技能用于指导 VS Code 的配置、扩展、键位与工作区优化。当用户提到 vscode、vs code、vscode settings、vscode extensions 等关键词时适用。
设置层级
设置按以下顺序解析,后者覆盖前者:
- 默认设置:VS Code 内置默认值
- 用户设置:Linux 为 ~/.config/Code/User/settings.json,macOS 为 ~/Library/Application Support/Code/User/settings.json,Windows 为 %APPDATA%\Code\User\settings.json
- 工作区设置:工作区根目录下的 .vscode/settings.json
- 文件夹设置:多根工作区中按文件夹覆盖
建议将 .vscode/settings.json、extensions.json、tasks.json 和 launch.json 提交到版本控制;如有需要,把用户特定路径加入 .gitignore。
主要能力
settings.json 常用配置
编辑器相关配置包括字号、字体、连字、缩进、保存时格式化、默认格式化器、保存时代码操作、括号对着色、内联建议、粘性滚动、链接编辑、自动换行、迷你地图、光标动画与空白字符渲染等。
文件与搜索相关配置包括自动保存、去除行尾空白、插入末尾换行、文件排除、搜索排除与文件监视排除。
终端相关配置包括终端字号、字体、各平台默认 shell、回滚行数、环境变量、shell 参数、光标样式与选中即复制。
键位定制
键位保存在 keybindings.json 中,可用 Cmd+K Cmd+S(macOS)或 Ctrl+K Ctrl+S(Windows/Linux)打开。支持 key、command、when 条件与 args。常用 when 上下文键包括 editorTextFocus、editorHasSelection、editorLangId、resourceExtname、inDebugMode、sideBarVisible、terminalFocus,可用 &&、||、! 组合。也支持两段式快捷键(key chords)。
推荐扩展
可在项目中创建 .vscode/extensions.json 声明 recommendations 与 unwantedRecommendations。资料按类别列出扩展:语言与框架、Git、测试、生产力、AI、格式化与 Lint。
自定义代码片段
通过 Cmd+Shift+P > "Snippets: Configure Snippets" 打开,可选择语言或全局作用域。支持制表位($1、$2、$0)、带默认值的占位符、选项列表、内置变量(如 $TM_FILENAME、$TM_DIRECTORY、$CURRENT_YEAR)与变量转换。项目级片段放在 .vscode/*.code-snippets。
tasks.json
支持构建任务、problemMatcher(含自定义匹配器)、复合任务(dependsOn、dependsOrder)。
launch.json
提供 Node.js、Python、Go、浏览器(Chrome)的调试配置示例。
多根工作区
通过 .code-workspace 文件定义多个文件夹、共享设置与扩展推荐;文件夹设置覆盖工作区设置。
Dev Containers
提供 devcontainer.json 示例,包括基于镜像、基于 Dockerfile、基于 Docker Compose 三种方式,以及 features、forwardPorts、postCreateCommand、customizations 等配置。
远程开发
SSH:安装 "Remote - SSH" 扩展,配置 ~/.ssh/config 后连接主机,VS Code 会自动在远端安装服务端。WSL:安装 "WSL" 扩展,可在 WSL 终端运行 code . 或连接 WSL。Tunnels:在远程机器运行 code tunnel 创建持久隧道,可从浏览器 vscode.dev 或桌面端 "Remote - Tunnels" 扩展连接,无需 SSH。
扩展开发基础
使用 npm install -g yo generator-code 与 yo code 脚手架创建扩展。package.json 中可声明 commands、keybindings、configuration 等贡献点,在 src/extension.ts 中注册命令。用 F5 调试(启动 Extension Development Host),用 vsce publish 发布。
配置文件(Profiles)
可通过 Cmd+Shift+P > "Profiles: Create Profile" 创建,适用于前端、Python、写作、极简等场景。可导出/导入为 .code-profile 文件或通过 GitHub Gist 分享,通过左下角齿轮图标或命令切换。
设置同步
通过 Cmd+Shift+P > "Settings Sync: Turn On" 启用,可同步设置、键位、片段、扩展、UI 状态与配置文件,使用 GitHub 或 Microsoft 账号登录。团队场景建议提交 .vscode/settings.json 与 .vscode/extensions.json,个人偏好保留在用户设置中。
效率技巧
包括多光标(Alt+Click、Cmd+D、Cmd+Shift+L、Cmd+Alt+Up/Down)、Emmet、面包屑、Zen 模式、快速打开(Cmd+P,配合 :、@、#)、命令面板、并排编辑、时间线视图、粘性滚动。
按项目配置格式化与 Lint
支持按语言设置默认格式化器与缩进;ESLint 与 Prettier 共存时,Prettier 先格式化、ESLint 再修复,并用 eslint-config-prettier 关闭冲突规则;Python 可使用 Ruff。
使用方式
按需将上述配置片段写入对应的 settings.json、keybindings.json、extensions.json、tasks.json、launch.json、.code-workspace 或 devcontainer.json 文件;键位与片段可通过命令面板配置;扩展通过扩展市场安装;远程开发与 Dev Containers 需安装相应扩展。
适用场景
适用于需要统一团队编辑器配置、优化个人开发环境、配置调试与构建任务、搭建容器化或远程开发环境、开发 VS Code 扩展,以及按语言定制格式化与 Lint 流程的场景。
限制
资料未提供各配置项在不同 VS Code 版本上的兼容性说明,未提供价格、收费或授权信息,未提供性能影响与安全注意事项,也未提供扩展的具体安装命令或版本要求。