
简介一份面向VSCode初学者的基础使用教程定位为课程资源特别适合刚接触Visual Studio Code或希望系统梳理常用操作的学生、开发人员与运维人员。内容从命令面板、界面布局和命令行打开项目讲起之后逐步覆盖代码编辑、代码注释、代码格式化、多光标编辑、快速跳转、代码重构等核心场景既保留了初学者需要的基础操作也加入了不少能直接提升效率的快捷技巧。教程只有一个PDF文件压缩包大小仅711KB下载后可在本地随时翻阅不会占用太多空间目前已有1244人学习下载是入门阶段值得参考的材料。此外教程还针对macOS与Windows系统分别给出了快捷键对照并包含多光标批量修改、行排序、大小写转换、符号跳转等实用提示能够帮助读者在较短时间内建立对VSCode的完整操作认知减少重复点击和记忆负担稳步提高日常编码效率。1. vscode基础使用教程为什么看了很多资料依然会用成“高级记事本”关于 VSCode 基础使用教程网上的文章多到可以当百科看但真正从零上手的人失败的场景反而高度雷同装了插件不知道怎么调快捷键写 C 找不到编译入口界面汉化改了重启又变回英文甚至以为文件被编辑器“弄丢”了。VSCode 的能力不在界面那几排图标里而在命令面板、配置文件和插件生态里。它解决的从来不是“能不能编辑代码”的问题而是“你能不能把编译、调试、远程连接、版本管理全部放在同一个窗口里连续操作”。这篇文章面向三类人刚装好 VSCode、想配 C/C 或 Python 环境、或者已经被“插件安装在哪个目录”“跳转定义为什么是灰色”这类问题卡住的人。我尽量按真实使用顺序讲哪些参数值得改、哪些坑值得避开都会直接点出来。2. 下载、安装与汉化装对第一版后面少走一半弯路2.1 用户版还是系统版权限、目录与卸载新手下载 VSCode 时官网会给出 User Installer 与 System Installer 两个入口。很多人不假思索选 System理由是“所有用户都能用”结果后续插件安装、命令行调用、程序更新都容易遇到权限提示。我更建议普通开发者用用户版它装到当前用户的 AppData 目录不需要管理员权限也不需要反复确认插件和配置都跟随当前 Windows 账号走。Windows 上可以用 winget 安装前提是系统已经是较新的 Windows 10 或 Windows 11并且安装了 winget 命令行工具# 用户版安装 winget install Microsoft.VisualStudioCode.User # 系统版安装通常不建议 winget install Microsoft.VisualStudioCode.SystemmacOS 上习惯用 Homebrew 的 cask 安装brew install --cask visual-studio-code安装过程中有一个重要选项在 Windows 的“选择附加任务”页面勾选“将‘用 Code 打开’操作添加到 Windows 资源管理器目录上下文菜单”以及“添加到 PATH”。PATH 不勾选后面在终端里执行code .就会报 command not found资源管理器右键菜单不勾选之后每次打开项目都要先打开 VSCode 再选择目录效率损失不小。装完之后在任意终端输入下面命令能弹出 VSCode 窗口就算成功code --versioncode命令是 VSCode 提供的命令行入口--version只用来验证路径是否生效。如果提示没有该命令优先检查安装时是否勾选“添加到 PATH”而不是急着重装。2.2 中文界面装一个语言包就能搞定别改了配置就删掉重装“vscode汉化”是搜索量很高的关键词因为它确实有坑有人改了locale配置发现菜单只有半截中文有人把安装目录里的翻译文件替换掉结果一更新软件就全部还原。VSCode 的汉化不是修改程序文件而是安装官方语言包插件。最简单的方式是在扩展商店搜索“Chinese”找到 Microsoft 出的“中文简体语言包”安装后右下角会提示重启窗口。也可以用命令行安装code --install-extension ms-ceintl.vscode-language-pack-zh-hans装完在命令面板执行“重新加载窗口”即可。需要注意这套中文包只负责界面文案代码里的变量名、控制台输出内容不会翻译这属于正常现象。另外如果之前手动改过locale.json或启动参数里的--locale请把相关配置恢复为默认再让语言包接管否则可能出现界面中英文混杂。2.3 插件从哪里装扩展商店、命令面板与离线包VSCode 的扩展商店是整个产品最有价值的部分。打开扩展面板的快捷键是CtrlShiftX搜索框里可以直接输入能力关键词比如“C”“Python”“Chinese”。但插件不是装得越多越好它分为两类一类提供语言服务比如代码提示、跳转、调试另一类负责美化或效率增强比如主题、图标、格式化管理器。语言服务类装重了最容易出现互相抢占符号索引的问题这一点我会在第四章详细讲。企业内网或离线环境装不上插件时可以在能访问外部网络的电脑上从扩展商店页面下载 .vsix 文件再拷贝到目标机器的 VSCode 里手动安装。命令行方式如下# 从本地 .vsix 文件安装插件 code --install-extension /path/to/your-extension.vsix参数--install-extension后面可以直接跟扩展商城里某个扩展的完整标识比如ms-python.python如果跟本地文件路径就表示从 VSIX 包安装。装完之后建议在扩展面板里检查是否有“重新加载”按钮插件只有在重新加载窗口后才开始工作。常见做法是刚接触 VSCode 时先装语言包、能跑通目标语言的官方扩展、再加一款主题和一款图标剩下的等明确需要再补。3. 文件与编辑预览模式、命令面板与多光标掌握之后效率翻倍3.1 没有编辑的文件会关上这是预览模式不是故障很多人在论坛搜“vscode没有编辑的文件会关上”其实这是一个默认启用但极少被解释的功能预览模式。当你用鼠标单击资源管理器里的文件时VSCode 会以“预览”方式打开它再单击另一个文件当前预览文件就会被替换。只有你双击文件或者在预览标签页里真正编辑了内容标签才会变成常驻。对于那些只是想快速翻代码的人来说这是保护标签页不被撑爆的机制。如果你不喜欢这种“点开一个文件就替换上一次”的行为可以用快捷键CtrlK再按Enter把当前标签固定也可以直接修改设置让所有文件都直接以普通模式打开{ workbench.editor.enablePreview: false }在设置界面搜索enablePreview或者在settings.json里写入上面这行都行。我建议保持默认的预览模式但一定要学会用CtrlK Enter固定重要文件否则 debug 时看着看着文件就被替换掉确实烦人。3.2 打开文件、命令面板与多光标的键盘操作VSCode 的核心交互不是菜单而是命令面板。CtrlShiftP能调出所有操作比如格式化文档、切换语言模式、选择工作区颜色主题。很多功能菜单里根本没有入口只能靠命令面板执行所以我会把命令面板当作“万能搜索框”来记。另一个面向文件的是CtrlP输入文件名的一部分就能快速跳转再配合:冒号可以直接跳到指定行。比如想打开common.py的第 88 行按CtrlP输入common.py:88回车即可。批量修改代码时多光标是效率大杀器。按住Alt再点击鼠标可以在多个位置同时放置光标把光标放到一个单词上按CtrlD会选中下一个相同单词连续按可以逐个选中并统一修改如果不小心选多了CtrlU可以撤销上一次光标选择。最开始可能不习惯但每天多练习 5 分钟一周后改变量名、改日志前缀、调整参数列表都会快很多。记住一个原则重复出现在多个位置的相同字符串优先用多光标而不是逐个手动改。3.3 集成终端把命令行直接嵌进编辑器VSCode 内置的集成终端是我使用频率最高的功能之一。Ctrl打开终端后可以直接在当前工作区执行git status、npm install、python xxx.py这些命令不再需要在多个窗口之间来回切换。终端底部还支持分屏可以把编译、调试、运行三个终端并排放在一起。在终端窗口右上角的“”旁边下拉选择默认 shellWindows 可以使用 PowerShell 或 WSL 中的 bashLinux 和 macOS 可以直接选系统默认 shell。对 WSL 用户来说更推荐的姿势是把 VSCode 作为 Linux 终端的前端在 WSL 里安装 VSCode ServerWindows 侧用 Remote-WSL 插件连接。之后所有文件读写、编译命令都在 Linux 环境里执行Windows 只负责显示界面。这样配置 C/C 工具链时装 gcc、gdb 等命令在 WSL 里一条 apt 就能搞定比在 Windows 原生环境处理 MinGW 路径问题省心不少。集成终端的内存占用不算小但如果你的机器内存不低于 16GB长期开着一个终端窗口完全值得。4. 语言环境用 tasks.json 与 launch.json 跑通 C 和 Python 的“编译-调试”闭环4.1 C先把编译器装好tasks.json 每个字段怎么调很多人配 C/C 环境一上来就写launch.json结果发现点调试报一堆错。这里有个颠倒问题调试的前提是可执行文件已经通过编译所以第一步应该是确定编译器能被终端直接找到。Windows 上常见做法是安装 MinGW-w64 并把g.exe所在目录加入系统 PATH安装完成后在终端执行g --version验证Linux 用apt install gcc g gdb makemacOS 执行xcode-select --install安装命令行工具。VSCode 本身不负责编译它通过任务系统调用编译器。可以从菜单“终端 → 配置任务”生成也可以手动创建一个.vscode/tasks.json。下面是 GNU 工具链在 Linux 或 WSL 里的最小版本{ version: 2.0.0, tasks: [ { label: C/C: g 生成活动文件, type: cppbuild, command: /usr/bin/g, args: [ -fdiagnostics-coloralways, -g, ${file}, -o, ${fileDirname}/${fileBasenameNoExtension} ], cwd: ${fileDirname}, problemMatcher: [$gcc], group: { kind: build, isDefault: true }, detail: 编译当前打开的源文件 } ] }解释一下几个关键配置command是编译器路径最好写绝对路径避免因为 PATH 变化导致任务找不到args中${file}表示当前打开的文件${fileDirname}表示该文件所在目录${fileBasenameNoExtension}是不带后缀的文件名-g用来生成调试信息-o指定输出文件名。problemMatcher让编译器的报错被 VSCode 识别从而能在“问题”面板里点击跳转到出错行。group.isDefault为 true 后按CtrlShiftB就会直接执行这个编译任务而不需要再次选择。Windows 平台的差异点是输出文件名要带上.exe后缀编译器路径通常是C:\Program Files\mingw64\bin\g.exe。另外如果以后做多文件项目建议把${file}换成 ${workspaceFolder}/src 下的具体源文件列表再用链接参数把所有.o目标文件链在一起不能一直靠“编译当前文件”应付。4.2 Python解释器选择才是 Python 环境配置的第一步配置 Python 环境时新手最容易误解的是“装好 Python 插件就够了”。实际上插件只提供语言服务真正决定代码在哪个环境运行的是解释器。我见过有人机器上同时有 base conda、venv、系统 Python插件随机选了一个导致安装的第三方库在编辑器里永远标红。解决方法是先安装官方扩展ms-python.python然后按CtrlShiftP执行“Python: 选择解释器”手动选项目对应的虚拟环境路径。确认解释器后再看.vscode/settings.json是否自动写入了python.defaultInterpreterPath。如果团队协作最好把解释器路径写到项目配置里并纳入版本控制只是注意虚拟环境路径在不同机器上不通用通常只提交相对于工作区的路径或者在.env文件里做映射。Pylance 作为语言服务会提供补全和类型提示如果代码提示一直不出来先检查右下角选择的解释器版本再看是否安装了 Pylance。4.3 调试器launch.json 最小配置与断点触发运行和调试是两层需求。想在编辑器里直接调试 Python 脚本点击任意一行左侧点击出红色断点再按F5VSCode 会提示选择一个调试环境选择 Python它会自动生成.vscode/launch.json。一个足够用的默认配置长这样{ version: 0.2.0, configurations: [ { name: Python: 当前文件, type: debugpy, request: launch, program: ${file}, console: integratedTerminal, cwd: ${fileDirname} } ] }type为debugpy这是新版 Python 插件使用的调试器标识program指定要执行的 Python 文件${file}表示当前活动文件console设为integratedTerminal时调试输出会进入集成终端而不是窗口右侧的调试控制台便于处理中文输入输出cwd设置工作目录这直接影响代码里相对路径的读取位置。调试 Python 时不建议直接沿用别人的配置因为虚拟环境目录可能不同正确做法是让向导替你先生成再按需修改。C 调试同样走 launch.json只是会多一个preLaunchTask字段让 VSCode 在调试前先执行编译任务。配置项里需要写明program指向刚才编译生成的可执行文件路径以及miDebuggerPath指向调试器 gdb 路径。一个很常见的报错是“程序文件不存在”这一般不是调试配置写错了而是preLaunchTask没执行成功回头看 tasks 编译报错更实际。4.4 为什么提示和跳转会一起失效IntelliSense 引擎与 clangd 的冲突C/C 环境配好后不少人的下一个问题是“代码提示为什么突然没了”“右键没有跳转到定义”。这往往不是配置缺失而是同时安装了两套互相打架的语言服务。微软官方ms-vscode.cpptools自带 IntelliSense 引擎而clangd是另一套基于 Clang 的符号索引两套并行时VSCode 无法确定由谁提供符号结果表现为跳转时灵时不灵、提示消失或者符号灰色。我的建议是二选一想要安装简单、不需要额外学配置就只用 cpptools如果追求跨平台一致性和更快的索引速度可以考虑 clangd但必须先禁用或卸载 cpptools 的“代码浏览/IntelliSense”相关能力。选定一个引擎后删除项目根目录下可能残留的.cache或.clangd缓存目录重启窗口重新生成索引问题通常就消失了。这个冲突排查步骤也适用于其他语言凡是遇到“某插件装了但对应语言的服务不生效”第一反应都应该是检查多个扩展是否接管了同一个语言服务。5. 现象驱动的排查跳转失效、中文乱码、远程连接超时一次讲清5.1 右键没有跳转到定义所有符号全部变灰现象是按住Ctrl点击函数名没有反应符号列表也是灰色原因是语言服务器没有建立索引。先确认当前文件右下角的语言模式对不对比如 C 代码要显示为“C”再检查是否安装了多个语言插件互相冲突最后清理工作区缓存。解决顺序是先执行命令面板里的“C/C: 重置 IntelliSense 数据库”没有这个命令就先禁用所有语言服务类插件只保留一家重启窗口让插件重新索引文件。如果是 clangd还需要确认compile_commands.json是否生成没有这份文件clangd 根本不知道项目用了哪些头文件跳转自然失败。5.2 集成终端中文乱码Windows 上最常见的现象是程序输出中文变成锟斤拷或æµ一类乱码原因是终端编码和程序输出编码不一致。VSCode 集成终端默认走的编码可能被 PowerShell 设置成 GBK而 Python 或 C 源码又是 UTF-8 输出。解决有两种一是在终端执行chcp 65001切换到 UTF-8但这只对当前终端会话有效二是在 VSCode 工作区配置里固定终端的默认编码{ terminal.integrated.defaultProfile.windows: PowerShell, terminal.integrated.env.windows: { PYTHONIOENCODING: utf-8 } }PYTHONIOENCODING只针对 Python 进程C 程序乱码则需要检查源码文件的保存编码是否为 UTF-8以及编译器是否按 UTF-8 读取源文件。还有一个隐藏坑Windows 控制台代码页和 VSCode 终端代码页是两套东西直接在系统级改“使用 Unicode UTF-8”会让很多旧程序报错不如只做项目级配置。5.3 连接 SSH 远程服务器一直超时、失败现象是配置完 Remote-SSH 后连接过程卡在安装远端服务器版本或者反复提示输入密码后超时。原因是远端机器缺少工具链常见的是wget、unzip或tar缺失导致远端服务器文件无法下载和安装。解决步骤是先在本地终端手动执行ssh 用户名主机地址验证单纯 SSH 是否通如能登录再在远端执行apt install tar wget补齐依赖之后回到 VSCode 连接。注意 VSCode 连接远程服务器时需要远端能访问官方下载服务器如果远端网络有限制需要提前把对应版本的 VSCode Server 包传到目标机器并解压到~/.vscode-server目录。这里不用追求理解压缩包内部结构但要知道排除顺序是“网络通不通、远端依赖全不全、远端权限对不对”。5.4 插件装好了却完全不生效命令面板搜索不到现象是插件列表里显示已安装但快捷键和命令都不存在。这里要先区分“工作区范围”和“全局范围”的扩展部分扩展只对特定语言或特定文件夹生效检查扩展面板里是否显示“已禁用”状态如果是从旧版本升级过来的工作区还要检查.vscode/extensions.json是否把插件标记成了不推荐。解决时先执行“开发人员: 重新加载窗口”强制重启扩展宿主再看扩展详情页的“功能贡献”区域里面列出了该插件注册的所有命令、视图和配置项。如果命令面板找不到可以在插件详情页复制某个命令 id再手动设置快捷键绑定。还有一个容易忽略的细节: 插件装在用户级目录但工作区被某个系统级进程以不同权限打开插件加载会受限这也是一个冷门的排查方向。6. 把配置沉淀成文件用 .vscode 与 settings.json 让项目自己带动工具链最后一章我只讲一个能力配置工程化。VSCode 最强大的地方不是每个项目都能各自调一遍而是你把配置写在.vscode/settings.json之后整个团队共享同一套编辑器规则谁打开项目都不需要重新教。我的习惯是每个项目都在第一轮调好之后把.vscode目录连同tasks.json、launch.json一并提交到 Git这会让新人加入时直接获得编译、调试和格式化能力。下面这份配置是我做多语言项目常用的模板格式化、文件树过滤、搜索排除一次到位{ editor.formatOnSave: true, files.exclude: { **/.git: true, **/node_modules: true, build: true, .venv: true }, search.exclude: { build: true, dist: true, .venv: true }, python.defaultInterpreterPath: ${workspaceFolder}/.venv/bin/python }files.exclude控制资源管理器里显示哪些目录把 build 和 node_modules 隐藏之后文件树立刻清爽很多search.exclude控制搜索时跳过哪些目录避免在编译产物里翻出大量无关命中python.defaultInterpreterPath很好理解但要注意如果虚拟环境路径写在项目绝对路径里换一台电脑就会失效。团队协作时我更建议用它指向一个可复现的环境文件名或者在 README 里写清楚创建命令。配置工程化的最后一步是尝试验证把.vscode目录删除仿照新成员重新打开项目看还能不能一键编译。如果删掉配置后回到手动编译的老路说明前几步没有沉淀好。我自己的教训是早期把大量设置写到了用户级 settings.json导致项目换到别人电脑后表现完全不一样后来才养成项目级优先的习惯。这个思路适合所有使用 VSCode 的领域——无论是 C、Python、LaTeX 还是嵌入式 STM32 开发工作区级的.vscode才是让配置跟项目一起走的正确载体。希望这篇基础教程能帮你少走弯路也更愿意把更多时间花在实际代码上那才是编辑器存在的意义。希望帮到你。本文还有配套的精品资源点击获取