vscode被安全软件拦截的根源是windows defender或火绒等将code.exe及其子进程误判为可疑行为。需向defender添加三个文件夹排除项:%userprofile%\appdata\local\programs\microsoft vs code、%userprofile%\appdata\roaming\code、%temp%\vscode;火绒等则需在自定义防护中放行创建远程线程、监听本地端口等具体行为。

VSCode 运行代码被安全软件拦截,基本就是 Windows Defender 或火绒这类软件把 code.exe 及其子进程(比如 renderer.exe、gpu-process.exe)当成了可疑程序。不是代码有问题,是安全软件“太尽责”——它拦的不是你写的脚本,而是 VSCode 自己加载插件、起本地服务、调 Node.js 模块这些正常行为。
Windows Defender 排除项必须加三个文件夹,不是单个 exe
只把 Code.exe 加进排除列表没用,子进程仍会被杀。真正要加的是以下三个路径(用环境变量写法,系统会自动展开):
-
%USERPROFILE%\AppData\Local\Programs\Microsoft VS Code(主程序目录) -
%USERPROFILE%\AppData\Roaming\Code(用户配置 + 所有扩展安装位置) -
%TEMP%\vscode(TypeScript 编译缓存、ESLint 临时文件等常用目录)
操作路径:设置 → 隐私和安全性 → Windows 安全中心 → 病毒和威胁防护 → 管理设置 → 添加或删除排除项 → 添加文件夹。注意选“文件夹”,别误点“文件”。
火绒/360/腾讯电脑管家要进「自定义防护」放行具体行为
这类国产软件的主动防御模块比主引擎更敏感,常因以下行为报错:
- VSCode 调试时创建远程线程 → 触发“进程注入”告警
- JS 引擎 JIT 编译时修改自身内存 → 标为“代码自修改”
- Live Server 启动
http://127.0.0.1:5500→ 判定为“可疑网络监听”
解决方法不是关主动防御,而是打开软件的「自定义防护」或「高级防护」页面,翻最近拦截记录,找到 code.exe 相关条目,点“添加信任”或“放行此程序”。部分版本需手动勾选“允许创建远程线程”“允许监听回环地址”等子项。
PowerShell 终端报“禁止运行脚本”?改的是执行策略,不是 VSCode 设置
这个错误和 VSCode 本身无关,是 Windows PowerShell 的 ExecutionPolicy 在起作用。VSCode 终端里跑的脚本(比如 .ps1)被拦,是因为策略设成了 Restricted 或 RemoteSigned 但没签名。
- 当前用户生效(推荐):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force - 全系统生效(需管理员):
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine - 验证是否生效:
Get-ExecutionPolicy -List,看CurrentUser行是不是RemoteSigned
别用 -Scope Process,它只对当前终端有效,关掉就失效;也别去改 VSCode 的终端默认 shell,那只是换解释器,不解决策略问题。
扩展闪退、弹“不受支持”警告?先查日志再动手
这类问题表面是安全拦截,实际多是扩展自己越界——比如 background 直接 patch workbench.css,VSCode 启动时一扫描就报警。别急着加信任,先定位真凶:
- 关 VSCode,任务管理器里确认所有
code.exe进程已退出 - 重开 VSCode,立刻按
Ctrl+Shift+P→ 运行Developer: Open Logs Folder - 进最新日期的子目录,打开
exthost1.log,搜unsupported或patch - 看到类似
Extension 'robbowen.background' modified workbench CSS就锁定它了
替换比忽略更稳:background 换成 background-cover,custom-css 换成 vscode-custom-css。硬要用旧版,就去 GitHub Releases 下 v1.x,新版签名机制更严,容易翻车。











