根本原因是插件后台抢解析,禁用插件是最可靠解法:必须用code --disable-extensions启动+手动切plaintext+确认状态栏无语言服务器图标,缺一不可。

VSCode 打开巨型文件(如 200MB+ 的日志、转储或生成 JSON)卡顿,根本原因不是编辑器加载慢,而是插件在后台抢着解析——Pylance、ESLint、CodeGeeX 这些插件一看到文件就自动拉起语言服务、建 AST、扫上下文,而你只是想快速翻几行。临时禁用所有插件不是“权宜之计”,是唯一能绕过这层冗余计算的可靠手段。
用 --disable-extensions 启动是最干净的解法
双击打开或从工作区拖入文件,VSCode 都会走完整初始化流程,插件照常激活。必须跳过这个流程:
- 关闭所有 VSCode 窗口
- 终端执行:
code --disable-extensions /path/to/huge.log(macOS/Linux)或code.cmd --disable-extensions C:\path\to\huge.log(Windows) - 启动后立刻按
Ctrl+K Ctrl+M→ 输入plaintext,手动切到纯文本模式(防某些插件残留绑定) - 此时无语法高亮、无折叠、无 LSP,但滚动、
Ctrl+F搜索、复制都响应正常
注意:--disable-extensions 不影响用户设置和快捷键,只剥离扩展逻辑;它比“禁用全部插件”更彻底——后者仍会加载插件代码,只是不激活。
为什么不能只靠 Developer: Disable All Installed Extensions
这个命令只是把插件状态设为 disabled,但 VSCode 启动时仍会读取它们的 package.json,解析 activationEvents,甚至预加载部分资源。对巨型文件而言,毫秒级的额外开销叠加起来就是数秒冻结。
- 常见错误现象:执行完该命令后打开大文件,状态栏仍显示
Log或JSON,Ctrl+F卡顿、光标移动延迟 - 根本原因:插件虽被标记为禁用,但语言识别逻辑(如
files.associations)仍生效,VSCode 仍会尝试构建完整文本模型 - 真正有效的做法是配合
--disable-extensions+ 手动切plaintext+ 确认左下角无任何语言服务器图标
File: Open Large File Optimized 和插件禁用必须一起用
VSCode 1.84+ 内置的 File: Open Large File Optimized 命令本身不禁止插件——它只跳过语法高亮和符号索引,但插件仍可能监听 onDidOpenTextDocument 事件并强行介入。
- 单独执行该命令后,若状态栏显示
Large file mode (read-only)但输入仍卡顿,大概率是CodeGeeX或Prettier在后台分析内容 - 正确顺序:先
code --disable-extensions启动 → 再运行File: Open Large File Optimized→ 最后手动选plaintext - 漏掉任一环,都可能让某个插件借机复活——比如
CodeGeeX会忽略全局"codegeex.enable": false,但响应onLanguage:plaintext事件
真正难处理的不是“怎么关插件”,而是关了之后 VSCode 还可能因历史配置(比如 files.associations 把 .log 映射到 log 语言)偷偷加载语义层。所以每次打开巨型文件前,务必确认三件事:命令行参数已加、语言模式是 plaintext、状态栏没有语言服务器图标——少一个,就可能退回卡顿原点。


















