argv.json必须放在用户配置目录而非安装目录,windows路径为%userprofile%\appdata\roaming\code\argv.json;应通过命令面板“preferences: configure runtime arguments”创建;内容仅需{"disable-gpu":true};修改后须彻底终止所有vscode进程并重启;wsl2用户还需禁用wslg的gpusupport。

argv.json 位置和创建方式不对,配置根本不会生效
很多人直接在 VSCode 安装目录(比如 C:\Users\me\AppData\Local\Programs\Microsoft VS Code)里新建 argv.json,结果重启后毫无变化——因为 VSCode **不从安装目录读取**这个文件。它只认两个地方:~/.vscode/argv.json(Linux/macOS)或 %USERPROFILE%\AppData\Roaming\Code\argv.json(Windows)。路径错了,写什么都白搭。
正确做法是:用命令面板启动编辑器,而不是手动建文件。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入并选择
Preferences: Configure Runtime Arguments - VSCode 会自动创建并打开正确的
argv.json文件(路径由系统决定,无需你操心) - 如果文件已存在,它会直接打开;不存在就新建,且确保路径合法
argv.json 里只写 "disable-gpu": true 就够了
"disable-hardware-acceleration": true 和 "disable-gpu": true 看起来像两个开关,但实际效果完全重叠。Electron 的 --disable-gpu 启动参数是底层唯一生效的机制,前者只是它的别名封装。VSCode 2024 年后已移除所有 UI 层面的硬件加速开关,settings.json 里改 terminal.integrated.gpuAcceleration 或 window.enableGPUAcceleration 都无效。
所以 argv.json 只需这一行:
{ "disable-gpu": true }
别加多余字段,也别写成数组或嵌套对象。多一个逗号、少一个大括号都会导致 VSCode 启动失败(报错 Failed to parse argv.json)。
改完不重启进程,旧 GPU 进程还在跑
保存 argv.json 后直接点右上角 × 关闭窗口,再双击图标重开——这是常见误区。VSCode 的主进程可能仍在后台运行,新窗口复用旧进程,GPU 进程没被真正释放。
必须彻底杀掉所有 VSCode 进程:
- Windows:任务管理器 → 结束所有
Code.exe进程(包括后台服务进程) - macOS:活动监视器 → 搜索
Code→ 全部退出 - Linux:终端执行
pkill -f "code --.*"或killall code
验证是否生效:打开 VSCode → Help > Toggle Developer Tools → 控制台输入 process.argv → 查看返回数组中是否含 "--disable-gpu" 字符串。
WSL2 / 虚拟机用户额外要关 wslg 的 GPU 支持
你在 WSL2 里用 VSCode Remote 或 WSLg 图形界面?光关 VSCode 的 --disable-gpu 不够。wslg 本身也会拉起 GPU 进程,和 Windows 显卡驱动打架,导致终端滚动撕裂、输入延迟。
必须额外处理:
- 先运行
wsl --shutdown彻底终止 WSL 实例 - 找到对应发行版配置目录:
%USERPROFILE%\AppData\Local\Packages\{发行版ID}\LocalState\wslg\config.json - 把
"gpuSupport": true改成false,或删掉整行(默认即禁用) - 重启 WSL,再开 VSCode
否则你会看到终端输出卡顿依旧,但 process.argv 显示 --disable-gpu 已生效——问题不在 VSCode 本体,而在 wslg 渲染链路。











