跳转至

VS Code 出问题怎么查

一、这页讲什么

编辑器出问题时,第一反应往往是重装,这会把问题一起卸掉、装回来又出现。先分清问题在哪一层:远程连接、扩展、设置、还是编辑器本身的缓存。

读完能做到:按症状定位到哪一层;用命令行与日志验证假设;在重装之前先排除配置与扩展。

二、开始之前

项 内容
版本与日期 VS Code 1.10x;2026-10-21 核实
预计耗时 10 分钟
前置 知道当前是本地窗口还是远程窗口(看左下角)
风险级别 中:诊断过程会禁用扩展、改设置,改前记下原值

三、动手做

1. 先确认版本与窗口类型

$ code --version
1.104.2

命令面板执行 Help: About 能看到版本、提交号与当前是本地还是远程。

看到这个就算成:说清楚三件事——版本号、本地窗口还是远程窗口、连的是哪台机器。

2. 判断是不是扩展引起

命令面板 → Extensions: Show Running Extensions 看各扩展的启动耗时与激活情况。也可以从命令行以干净模式启动验证:

$ code --disable-extensions
(成功时没有输出,编辑器以无扩展模式启动)

看到这个就算成:加上参数后问题消失,说明问题在扩展。

3. 判断是不是设置引起

命令面板 → Preferences: Open User Settings (JSON),把可疑设置注释掉或临时改名备份,重启编辑器。远程窗口要用命令面板里的远程设置入口。

看到这个就算成:改设置后问题消失,说明问题在配置层。

4. 看日志

命令面板 → Output 面板,下拉选择 Log (Main)、Log (Renderer) 或 Remote Server。远程连接问题看 Remote Server;卡顿看 Renderer。

看到这个就算成:日志里能定位到一条与症状同时出现的报错。

5. 断网与代理验证

Remote-SSH 首次连接要在服务器上装 VS Code Server,服务器访问不了外网时会一直停在安装阶段。在服务器一侧验证:

$ curl -I https://update.code.visualstudio.com
HTTP/2 200

看到这个就算成:服务器能访问更新站,或明确知道走代理怎么配。

6. 中文乱码与字体

终端里中文乱码先看编码:PowerShell 里 chcp 输出应为 65001;Linux 一侧 locale 应含 UTF-8。

$ locale
LANG=en_US.UTF-8

看到这个就算成:终端编码为 UTF-8,中文显示正常。

7. 彻底退出的正确方式

先关远程连接(左下角断开),再退出编辑器;卡死时用任务管理器结束进程。缓存文件位置:Windows 在 %APPDATA%\Code,Linux 在 ~/.config/Code。

看到这个就算成:能说出本机的用户数据目录位置。

四、做完怎么确认

  1. 能判断问题出在连接、扩展、设置还是缓存层。
  2. 会用 --disable-extensions 做对照实验。
  3. 能在输出面板里找到对应日志。
  4. 知道用户数据目录位置,重装前会先备份。

五、卡住了怎么排查

症状 多半是 先验证 处理
启动很慢 扩展太多或某个扩展在索引 Extensions: Show Running Extensions 禁用耗时最高的扩展
远程一直提示安装 Server 服务器访问不了外网 服务器上 curl -I https://update.code.visualstudio.com 配代理,或按官方文档离线安装
连接超时 / 握手失败 不在 tailnet、端口不通、密钥不对 $ ssh <别名> 能否登录 先修 SSH;见 SSH
编辑器卡死、无响应 大文件索引、扩展冲突、GPU 加速 干净模式启动 关 GPU 加速;禁用扩展;把大目录加进 files.watcherExclude
中文显示成方块 字体缺中文字形 换等宽字体再试 设置 editor.fontFamily 含中文等宽字体
插件显示已装但不工作 装在本地而当前是远程窗口 扩展面板看安装位置 在远程窗口里重装
设置改了不生效 被远程层或项目级覆盖 命令面板确各级设置 改对应层级
更新失败 权限不足或网络不通 看更新提示的详情 用官方安装包覆盖安装
搜索不到文件 没打开文件夹,只打开了单个文件 看左侧是否显示文件夹名 File → Open Folder
终端里命令找不到 环境变量与系统终端不同 echo $PATH 对比 配 terminal.integrated.env

六、为什么这样能成

分层排查比重装快。 连接、扩展、设置、缓存四层各自独立,一次只动一层,问题消失时就能确定层级。

对照实验能排除变量。 --disable-extensions 与改配置都是「只改一个变量」的对照,比凭感觉重装可靠。

远程问题多半不在编辑器。 远程窗口连不上时,SSH 与网络层的问题一样会让编辑器表现出来,先验证 ssh 本身。

七、边界与替代

  • 不在生产机上重装:先备份 settings.json 与键位,再考虑覆盖安装。
  • 不靠删缓存解决配置问题:缓存删掉会重建,问题在设置里时仍会复现。
  • 不把日志贴到公开页面:日志里有主机名、路径与账号信息。
  • 持续崩溃找官方 issue:带版本号与日志摘要提交,别只写「打不开」。

八、官方资料

核实日期:2026-10-21。