VSCode打开大文件卡顿90%以上是插件导致,执行code --read-only --disable-extensions可秒开并显示Large file mode (read-only)即证实;常见抢跑插件包括TypeScript、Prettier、ESLint、Copilot、CodeGeeX、GitLens;需禁用语言检测、关联轻量语言模式、关闭自动格式化与lint、正确配置files.watcherExclude,并检查状态栏是否显示Large file mode。

VSCode 打开大文件(如 >10MB 的 .log、.jsonl、.csv)卡顿,90% 以上不是编辑器本身慢,而是插件在后台强行加载语言服务、格式化或校验——它们根本没等你操作,就已把主线程锁死。
怎么一眼确认是插件拖慢大文件读取
别猜。打开终端,执行:code --read-only --disable-extensions "/path/to/your/bigfile.log"。如果秒开且状态栏显示 Large file mode (read-only),问题 100% 出在插件上。这时再补一步:不加 --disable-extensions,但强制走优化路径——按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入并执行 File: Open Large File Optimized,看是否仍卡。若后者失败而前者成功,说明有插件劫持了语言模式或监听了文件打开事件。
哪些插件最常在大文件里“抢跑”
这些插件默认声明宽泛的激活条件,一打开任意文本就启动重型服务:
-
ms-vscode.vscode-typescript-next:即使没tsconfig.json,也硬拉 TS Server,吃内存且不可跳过 -
esbenp.prettier-vscode:对.log文件也尝试从node_modules查找配置,同步阻塞 -
dbaeumer.vscode-eslint:默认启用全文件 lint,大 JSON 或日志里解析 AST 直接卡死 UI -
github.copilot和codegeex.codegeex:尤其在Plain Text模式下仍会悄悄激活 AI 补全上下文,且"codegeex.enable": false全局设置无效,必须进Plain Text专属设置关 -
eamodio.gitlens:默认扫描整个仓库历史,打开单个大文件时仍在后台构建符号缓存
禁用插件前先堵住“自动激活”链路
卸载不是首选。很多插件卡顿源于默认行为太莽,调几行配置就能懒加载:
- 在工作区
.vscode/settings.json中写死:"editor.languageDetection": false,防止 VSCode 自动识别成javascript或json后触发 LSP - 强制关联非源码后缀为轻量语言:
"files.associations": {"*.log": "plaintext", "*.jsonl": "jsonc"} - 关闭格式化与 lint 在大文件上的自动运行:
"prettier.autoFormatOnSave": false、"eslint.enable": false(注意:不是eslint.validate) - 对
CodeGeeX类插件,必须进设置搜索codegeex→ 点击右下角语言模式(如Plain Text)→ 打开“语言特定设置” → 关闭Enable CodeGeeX
files.watcherExclude 配错等于白配
这个配置不是“可选优化”,而是防止文件监视器崩溃的保命项。漏掉关键路径,inotify 句柄很快耗尽,VSCode 退化为轮询,所有文件操作都变慢:
- 必须写在工作区根目录的
.vscode/settings.json中,用户级设置不生效 - 规则必须用双星号:
"**/node_modules/**": true,写成"node_modules/**"或绝对路径会触发无效遍历 - 必加项包括:
"**/.git/objects/**"(Git 对象动辄数万小文件)、"**/dist/**"、"**/build/**"、"**/coverage/**" - 别和
files.exclude混用:files.exclude只隐藏资源管理器,files.watcherExclude才真正阻止操作系统级监听
真正难处理的不是“怎么关插件”,而是插件悄悄改写语言模式、劫持 activationEvents、或在 Plain Text 下仍发网络请求——这些行为不会报错,只会让大文件加载从秒级变成分钟级。每次怀疑卡顿时,先看状态栏语言模式和左下角是否真显示 Large file mode (read-only),这是唯一可信信号。


















