☰
VSCode基础教程:从安装配置到C/C++与Python环境搭建
2026/10/6 9:17:50 网站建设 项目流程

简介:本资源为一份关于 Visual Studio Code 基础操作与效率提升的 PDF 文档,面向刚接触 VSCode 的开发者,以及希望系统梳理编辑器常用技巧的入门用户。内容核心聚焦于高频快捷键与实用插件,覆盖命令面板、界面认知、光标移动、多光标编辑、代码格式化、大小写转换、快速跳转、定义与实现跳转、代码重构等场景,并针对 Mac 与 Windows 快捷键做了对照说明。文档从快速入门到进阶操作循序渐进,适合在工作或学习中对照练习,能帮助读者减少鼠标依赖,提升日常代码编写与编辑效率。资源包为压缩包形式,包含 1 个 PDF 文件,整体大小约 81KB,体量轻便、便于离线查阅。目前已有 4685 人浏览学习。需要快速上手 VSCode 或系统补齐基础操作要点的开发者,可直接下载这份简明教程作为速查参考。

1. 全网最详细的VSCode基础教程:装完不会用,问题多半出在这三件事

新电脑到位,先装什么?五个人里起码有三个装的是 VSCode。但装了之后就万事大吉了吗?并没有。我见过太多人装完打开一个 C 文件,代码高亮是花的,右键跳转定义直接没反应,然后回头怪编辑器不好用。VSCode 真正的上手成本不在安装,而在安装之后那一堆默认不会告诉你的设置项。这篇教程从官网下载一路写到快捷键、插件、C/C++ 和 Python 环境配置,最后附带我整理的高频问题排查记录。适合两类人:刚装完 VSCode 但写代码磕磕绊绊的新手,以及熟悉编辑器但每次换电脑都要重新配环境、想一次弄明白的老手。整篇按你实际的落地顺序来,看完就能照着做。

2. 安装与初始化:官网下载只是开胃菜,用户级安装和 code 命令才是正文

2.1 下载源与版本选择:为什么我坚持只走官网

很多人搜索 vscode 下载,点开第一个链接就装了。我的建议是尽量从官网下载。官网这个入口本身不重要,重要的是第三方打包站里可能有“绿色版”“优化版”这类带个人魔改的东西。你自己想想,一个编辑器要“优化”什么?它把那个不满意的逻辑改了之后,出了问题你根本不知道去哪里对配置,连报错都找不到出处。

在官网下载页会看到 Stable 和 Insiders 两个版本。Stable 是正式版,Insiders 是尝鲜版,每晚构建,插件兼容性不稳定。基础场景直接选 Stable,别碰 Insiders。Insiders 偶尔拿来开个新特性是 OK 的,当主力编辑器,哪天插件崩了,你连后悔药都找不到地方吃。另外 Windows 下还有 User Installer 和 System Installer 之分,见 2.2。

2.2 安装选项里的坑:用户级安装和 PATH 勾选

Windows 安装时有一个容易被忽略的界面,一堆勾选框下面写着“添加到 PATH”。我见过不少人直接下一步过去,装完发现终端里敲 code 命令完全没反应。VSCode 的逻辑是:不勾选 PATH,你就只能在图形界面里点图标打开,命令行启动器 code 和 code-insiders 不会注册到 shell 中。如果你后面打算体验 Remote-SSH、WSL 这类靠命令行拉起本地客户端的场景,这个勾选几乎是必须的。

我的习惯是装完 done 之后,新开一个终端,执行 code --version 确认 PATH 生效。如果提示 command not found,先不要急着重装,把安装目录下的 bin 目录手动加到系统 PATH 里,通常是 %USERPROFILE%\AppData\Local\Programs\Microsoft VS Code\bin。这是很多教程略过的第一步验证,却决定着后面所有命令行操作是否可用。

另外,安装级别的选择我推荐 User Installer(用户级安装)。它的优势是:不需要管理员权限、可以装在当前用户目录、更新时不会每次弹 UAC 验证。在公司锁了权限的电脑上,系统级安装几乎寸步难行,用户级则一切都在用户目录下搞定。系统级安装适合公用电脑,但作为日常主力,用户级省心得多。

2.3 验证安装与第一份 settings.json

第一次启动 VSCode,建议先做一次基础体检。打开终端执行:

code --version code .

第一行输出版本号,确认命令行启动器已经生效;第二行会启动 VSCode 并加载当前目录,这是后面每天打开项目的核心姿势。如果你在某个目录下看不到code .的效果,说明 PATH 仍没配好,回到 2.2 处理。

接着设置初始化。在 VSCode 内按Ctrl+Shift+P打开命令面板,输入“settings”并打开 JSON 配置文件。VSCode 的设置分三层:默认设置、用户设置、工作区设置。默认设置是只读的,真正生效的是用户设置和工作区设置。我一般第一份用户设置里只放影响全局的项,项目相关的放工作区。先给一份基础模板:

{ "editor.fontSize": 15, "files.autoSave": "afterDelay", "files.autoSaveDelay": 1000, "workbench.startupEditor": "none", "editor.minimap.renderCharacters": false, "window.zoomLevel": 0 }

逐条解释一下。editor.fontSize是字体大小,新装编辑器默认 14,我觉得 15 长时间看舒服一点;files.autoSave设置为 afterDelay,配合files.autoSaveDelay为 1000,意思是按键后 1 秒自动保存,写 Markdown 到一半被叫走,回来也不会丢内容;workbench.startupEditor设为 none,让启动时不弹 welcome 页,直接进入工作状态。editor.minimap.renderCharacters关掉字符渲染,只显示色块,滚动定位时性能更好,代码密集时不会满屏马赛克。

参数名默认值建议说明
editor.fontSize1415字体大小,高 DPI 屏幕上可调至 16
files.autoSaveoffafterDelay配合 autoSaveDelay 实现延时自动保存
workbench.startupEditorwelcomePagenone关闭欢迎页,直接进入工作区
window.zoomLevel00界面缩放,不建议大于 1

这份设置写完保存,编辑器的骨架就立住了。下一步是快捷键,这是 VSCode 拉开和记事本差距的地方。

3. 快捷键体系:把编辑器握在手里的核心操作

3.1 命令面板是 VSCode 的万能入口

VSCode 的很多操作没有显式菜单,或者说菜单藏得很深,命令面板才是真正的入口。Ctrl+Shift+P能帮你搞定几乎所有能找到的功能:改语言、装插件、跑任务、查快捷键、清缓存。它的搜索是模糊匹配的,输入一个关键词就能看到相关命令列表。我经常会说“不知道功能在哪的时候,先按 Ctrl+Shift+P 再说”。

功能入口有了,但真正提升速度的是下面这些编辑快捷键。我见过同事用鼠标点半天“删除行”,我这边三下五除二就处理完十几行代码。下面这张表是我每天都在用的核心组合,新手建议优先练熟前五个。

快捷键功能场景
Ctrl+P快速打开文件输入文件名片段即可跳转
Ctrl+G行跳转根据报错行号快速定位
Ctrl+Shift+K删除整行替代先选行再 Delete
Alt+↑ / Alt+↓上移/下移整行批量调整代码顺序
Ctrl+Shift+Enter上方插入新行不必来回移动光标
Ctrl+D选中下一个相同词批量修改同名变量
Alt+Click多光标同一位置同时插入内容

3.2 高频编辑操作:多光标、Ctrl+D 和移动整行

多光标是 VSCode 最能让新用户惊叹的能力,没有之一。按住 Alt 然后在不同位置点一下,就能在多个光标同时打字。常见用法是把三行重复代码一次性修改,或者在测试数据里同时补上引号。另一种多光标是 Ctrl+Alt+↑/↓ 纵向插入光标,适合对齐的表格类文本。

Ctrl+D 适合批量改同名变量。比如你有一段代码里十几个 name 变量要改成 userName,逐个改容易漏。光标放到第一个 name 上,按一次 Ctrl+D 选中下一个,再按一次就选中下下一个,直到全部选中后直接输入替换。这里有一个我的血泪经验:如果在一个表达式里已经通过 Ctrl+D 选中了两个相同词,这时你又想撤销其中一次选择,按 Ctrl+Z 会把上一次的选择撤销,但会把之前的编辑也撤销掉,所以批量替换时尽量先做完所有选择,再一次性输入。

3.3 跳转与搜索:不靠鼠标也能快速定位

命令面板和编辑快捷键解决了“写”,跳转与搜索解决“找”。Ctrl+P 打开文件,输入文件名就能定位。Ctrl+G 输入行号直接跳到对应行,这个在编译器报错场景几乎每日必用。F12 跳到定义,Shift+F12 查看所有引用,Alt+F12 快速预览定义,不用离开当前文件。

全工作区搜索默认快捷键是 Ctrl+Shift+F。这里有一个容易踩的坑:搜索框下面的 include/exclude 输入框。当你搜业务代码却搜出一堆 node_modules 结果时,多半是 exclude 没有配置。进去加一行**/node_modules, **/dist, **/build就可以把干扰项挡掉。如果你搜一个字符串明明有结果却搜不到,先看是不是把 Include 误填成了具体文件路径,这个输入框是支持 glob 模式的,写得太窄就是白搜。

Ctrl+Shift+G 打开源代码管理面板,这是 Git 的主战场。配合 GitLens 插件,能在每一行代码上看到提交人和时间。很多人在这个面板里操作“清理删除的分支”,实际上不需要安装任何 Git 增强插件,内置的 Git: Refresh 命令就够了,具体排错我放在第 5 章。

4. 插件与语言环境配置:C/C++、Python 的完整落地过程

4.1 插件选型逻辑:20 个还是 200 个

VSCode 的插件市场有上万款插件,新手最容易犯的错是看到推荐就装,最后装了两百多个,启动慢、命令面板混乱、插件相互打架。我的主力环境常年维持在 20-25 个插件。基础教程阶段,真正开箱即用的核心插件是这几款:Chinese (Simplified) 中文语言包、C/C++(微软官方)、Python、ESLint、Prettier、GitLens 和 Remote-SSH。

前面四个都是微软官方出品,覆盖的是语言服务、代码补全、Lint 和格式化。Remote-SSH 的典型场景是:本地 Windows 一台,远程 Ubuntu 一台,通过该插件直接把 VSCode 客户端连到远程服务器,编辑远程文件、打开远程终端、跑远程任务,和本地的体验几乎一样。这一类插件解决的是“本地资源不够、代码必须在服务器上跑”的痛点。

插件的取舍原则是:只装正在使用的工作流需要的。比如你在用 SVN 而非 Git,就别装 GitLens;你写 LaTeX,那就装 LaTeX Workshop,而不需要一堆针对 Markdown 的扩展。装了不用的插件,不只会拖慢启动,还可能在你不知道的时候发生键位冲突。

4.2 C/C++ 环境:从零写出可用的 tasks.json 和 launch.json

配置 C/C++ 环境的核心不是装完插件就完事,而是让 VSCode 知道三件事:编译器在哪、include 头文件在哪、编译输出放哪。很多新手写 C 没有代码提示,根因就在这里——IntelliSense 不知道你的工具链长什么样。

先写编译任务 tasks.json。在.vscode/tasks.json中创建一个 gcc 编译任务:

{ "version": "2.0.0", "tasks": [ { "label": "C/C++: gcc 编译当前文件", "type": "cppdbg", "command": "/usr/bin/gcc", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.out" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ] }

label是这个任务在命令面板中显示的名字;command指定编译器路径,Linux 下通常是/usr/bin/gcc,Windows 上用 MinGW 时改成C:/msys64/mingw64/bin/gcc.exe,路径里用正斜杠;${file}是当前打开文件的完整路径,${fileDirname}是所在目录,${fileBasenameNoExtension}是去掉扩展名的文件名,这样编译结果就和源码放在一起。-g生成调试信息,这是调试器能否看到变量名和行号的关键参数。problemMatcher告诉 VSCode 如何解析编译器输出,$gcc对应 gcc 的报错格式。

有了编译任务,再写调试配置 launch.json:

{ "version": "0.2.0", "configurations": [ { "name": "C/C++: gcc 调试当前文件", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}.out", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "C/C++: gcc 编译当前文件" } ] }

program是要调试的可执行文件路径,必须和 tasks.json 里-o指定的输出路径一致,否则会报“找不到可执行文件”。preLaunchTask是调试前自动执行的任务,这里的字符串要和 tasks.json 里的label完全一致,这就是为什么我建议把 label 写成固定格式,方便对照。externalConsole设为 false,让程序在 VSCode 集成终端里运行,便于和编辑器日志一起看。stopAtEntry如果设为 true,会在 main 函数入口处暂停,适合配合断点观察启动过程。

这三份文件是 C/C++ 基础开发的完整骨架。如果你后续做 STM32 嵌入式开发,本质还是同一套逻辑:把 command 换成 arm-none-eabi-gcc,include 路径指向 SDK 目录,再配合 OpenOCD 调试器,原理不变。

4.3 Python 环境配置:解释器路径与虚拟环境的坑

Python 的配置比 C/C++ 简单,但有一个高频翻车点:装好的依赖在 VSCode 的终端里 import 不到。原因通常是 Python 插件没有选对解释器,导致语言服务、调试器和终端用了完全不同的 Python 环境。正确做法是先在项目里创建虚拟环境,然后让 VSCode 明确指向它。

python -m venv .venv

这个命令会在当前目录下生成.venv目录。然后打开 VSCode 命令面板,输入 Python: Select Interpreter,选择.venv/bin/python。为了以后不反复手动选,把配置落进工作区.vscode/settings.json:

{ "python.defaultInterpreterPath": "./.venv/bin/python", "python.terminal.activateEnvironment": true, "editor.formatOnSave": true, "python.formatting.provider": "black", "python.linting.enabled": true }

defaultInterpreterPath指定默认解释器路径,Windows 下要注意路径分隔符是反斜杠,写./.venv/Scripts/python.exe,注意 Scripts 而不是 bin。activateEnvironment为 true 时,每次打开终端会自动激活虚拟环境,这样 pip 装的包才能直接被运行中的代码找到。formatOnSave保存即格式化,配合python.formatting.provider为 black,可以统一团队代码风格。linting.enabled开启代码检查,写完不会等到运行才发现语法问题。

字段作用踩坑点
python.defaultInterpreterPath指定解释器路径Windows 下是 Scripts/python.exe
python.terminal.activateEnvironment自动激活虚拟环境不开启会导致依赖缺失
editor.formatOnSave保存时自动格式化需要安装对应 formatter 插件
python.formatting.provider选择格式化工具black 是最省心的默认选择

第 4 章到这儿基本把 C/C++ 和 Python 的常用配置讲透了。接下来是很多人装完 VSCode 后最头疼的部分——出了问题不知道怎么定位。

5. VSCode 高频问题排查:五个常用但不查不知道的操作

5.1 汉化不生效:装了中文包界面还是英文

现象:装了 Chinese (Simplified) 中文语言包,重启 VSCode 后界面依然全英文。原因:语言包只是提供了翻译文件,VSCode 默认显示语言是 en,需要手动切换。解决:按Ctrl+Shift+P打开命令面板,输入 “Configure Display Language”,选择zh-cn,然后重启。这里还有第二层坑:如果选完 zh-cn 重启后仍旧英文,检查 VSCode 版本是否过旧,旧版本的中文包不支持新版本的界面字符串,设置里搜locale看看当前值是否真的写成了 zh-cn。语言包和主版本不匹配是黑匣子问题,卸载重装语言包通常能解决。

5.2 写 C 没有代码提示、右键跳转定义失败

现象:打开一个 C 文件,输入结构体成员没有提示,右键 Go to Definition 无效,连报错都很少弹。原因:最常见是 c_cpp_properties.json 里的 compilerPath 指向错误,IntelliSense 找不到编译器就无法解析头文件;更隐蔽的原因是你同时装了 Microsoft C/C++ 和 clangd 两款插件,两者同时在后台抢占语言服务,VSCode 默认优先给了 Microsoft 插件,但 clangd 又在编辑器的弹层里拦截了跳转请求。解决:二选一,卸载另一款插件后重启。如果是编译器路径问题,在命令面板输入 C/C++: Edit Configurations,让它自动扫描一遍。需要注意,如果你非要用 clangd 来获得更快的补全体验,就必须提供 compile_commands.json 编译数据库,否则它的跳转对多文件工程就是残缺的。

5.3 没有编辑过的文件会自动关上

现象:点击文件浏览器的某个文件想看一眼,点开另一个后,刚才那个标签页不见了,像是被自动关闭。原因:VSCode 默认开启预览模式(Preview Tab),单击文件只会打开一个“预览标签”,它没有独立存储状态,一旦点击下一个文件,预览标签会被新文件复用而关闭。读完不做修改的文件就这样自动消失。解决:双击文件标签固定这个页签;或者在设置中搜索workbench.editor.enablePreview并设为 false,从此所有文件都以普通标签打开。这个方法适合喜欢开着多个文件来回对比的人,能少很多“文件被关上”的抱怨。

5.4 终端输出中文乱码,printf 打印中文变问号

现象:在 Windows 上写 C 程序,printf 输出中文,终端里全是乱码。原因:Windows 终端默认代码页是 GBK,而 VSCode 的源文件通常保存为 UTF-8,两者字符编码不匹配,导致中文被错误解析。解决:在 VSCode 集成终端中执行chcp 65001切换代码页,或在设置里为终端配置启动参数,让每次打开自动切换。常见写法是在终端配置文件里加一行-NoProfile -Command "chcp 65001",注意不同 shell 的写法不一样。更彻底的方案是把源码保存为 GBK,但团队协作时没人愿意为了一台电脑降低编码规范,所以仍然推荐从终端侧解决。

5.5 Git 分支删除了,源代码管理面板里还在

现象:在命令行里删掉了本地分支,回到 VSCode 的源代码管理面板,发现分支列表里还挂着已删除的分支引用。原因:VSCode 的 Git 视图不会实时轮询仓库状态,需要手动触发刷新或执行 prune 操作。解决:在命令面板输入 Git: Refresh 可以重新加载分支列表;如果分支还在,执行一次git fetch --prune清理远程已删除分支的本地引用。注意区分两种分支:本地已删除但远程还留着,和远程已删除但本地引用没清理,对应处理命令不同。这种状态本身不算错误,但会干扰你判断仓库的真实状态。

6. 进阶:一套代码片段与设置同步方案,换电脑 20 分钟回到熟悉状态

说了这么多基础操作,最后聊一个不那么“基础”但能省下大量重复工作的技巧:用户代码片段和设置同步。

先看用户代码片段。很多人写 console.log 是一个字符一个字符敲的,我早就用 snippet 替代了。按Ctrl+Shift+P输入 User Snippets,选择新建全局代码片段文件,起名common,然后粘贴一段 JSON:

{ "log to console": { "prefix": "clog", "body": ["console.log('$1', $2);", "$0"], "description": "快速输出 console.log" }, "for loop": { "prefix": "fori", "body": [ "for (let $1 = 0; $1 < $2; $1++) {", " $0", "}" ], "description": "标准 for 循环" } }

prefix是触发词,输入clog并回车就能展开成完整的 console.log;$1$2是 Tab 停靠点,展开后依次按 Tab 跳到下一个输入位置;$0表示最终光标落点。这个机制不仅适用于 JavaScript,C、Python、Markdown 都一样,给每种语言单独建一个 snippet 文件,日常重复代码基本不用手敲。Snippet 是 VSCode 里性价比最高的功能之一,因为设置一次,之后每天使用无数次。

然后是设置同步。换电脑重配 VSCode 是最恼人的事情,我经历过一次之后彻底依赖 Settings Sync。在 VSCode 中登录微软账号或 GitHub 账号,打开设置同步开关,同选择同步哪些项目:设置、快捷键、插件列表、用户代码片段。下一次在新机器上安装 VSCode,登录同一账号,选择“从头同步”,20 分钟内就能把插件、配置、代码片段全部恢复,界面和你旧电脑一模一样。

有一句话得强调:设置同步同步的是配置和插件清单,不是工作区里的工程文件。工程还是得靠 Git。

从那以后,我每次在新电脑上装完 VSCode,都强制自己走一遍完整流程:官网下载、用户级安装、确认 PATH、同步设置、检查一条刚刚说的使用习惯。这套流程已经用了三年,中间因为边查边记踩过的坑,都整理在前面的章节里了。如果你装完还是一头雾水,按顺序把第 2、3、4 章的代码块和参数值过一遍,大概率能解决 90% 的困惑。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询