必须同步禁用实时保护、基于云的保护和篡改保护三模块,并为开发文件夹添加排除项;仅关实时保护无效,因WdFilter驱动仍后台监控,且篡改保护会自动恢复策略。

开发时反复被Windows Defender扫描代码文件夹,导致编译卡顿、热重载失败、调试器被误杀,甚至刚生成的.exe被秒隔离——这不是你的代码有问题,而是Defender正对整个项目目录做毫秒级实时监控。
先确认问题根源:不是“关实时保护”就能解决
直接在安全中心关闭“实时保护”,对开发文件夹无效。因为Defender的文件系统筛选器(WdFilter)会持续挂钩所有磁盘I/O操作,即使实时保护开关显示为“关”,只要篡改保护(Tamper Protection)开启,它就会在后台偷偷恢复监控策略。你看到的“已关闭”,只是界面假象。
必须同步禁用三个联动模块:实时保护、基于云的保护、篡改保护。缺一不可。
永久排除开发文件夹(推荐首选)
第一步:打开Windows安全中心 → 点击「病毒和威胁防护」→ 滚动到底部点击「管理设置」。
第二步:在「病毒和威胁防护设置」页中,找到并点击「添加或删除排除项」→ 点击「添加排除项」→ 选择「文件夹」。
第三步:浏览并选中你的开发根目录,例如 【D:\Projects】 或 【C:\Users\YourName\source\repos】。注意:只加最外层文件夹,子目录自动继承;不要逐个添加src、bin、obj等子文件夹,否则容易漏掉临时生成文件。
这一步生效极快,无需重启,且不影响其他位置的防护能力。但注意:排除项对符号链接(symlink)和网络映射驱动器(如Z:\)不生效,若你用WSL2开发并挂载了Linux路径,需另配Wsl.conf白名单。
彻底停用Defender实时扫描服务(仅限离线开发机)
方法一:通过组策略(Win10专业版/企业版/教育版适用)
按 Win+R 输入 gpedit.msc 回车 → 依次展开:计算机配置 → 管理模板 → Windows组件 → Microsoft Defender防病毒 → 实时保护。
双击「关闭实时保护」→ 设为“已启用” → 点击“应用”。
方法二:注册表强制禁用(家庭版必用)
按 Win+R 输入 regedit 回车 → 定位到:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Realtime Protections
若该路径不存在,请手动逐级新建:右键“Windows Defender” → 新建“项”,命名为 【Realtime Protections】 → 在其右侧空白处右键 → 新建 DWORD (32位) 值 → 命名为 【DisableRealtimeMonitoring】 → 双击修改数值数据为 【1】。
⚠️关键提醒:此操作后必须重启电脑,且系统将不再向微软提交任何威胁样本——如果你的开发环境完全不联网、不处理用户数据,这是安全的;若机器同时用作日常办公,不建议启用。
关闭篡改保护与云保护(防止自动反弹)
第一步:进入Windows安全中心 → 点击「病毒和威胁防护」→ 点击「管理设置」。
第二步:将以下三项全部关闭:① 实时保护、② 基于云的保护、③ 篡改保护。
第三步:关闭后立即打开任务管理器(Ctrl+Shift+Esc)→ 切换到“详细信息”选项卡 → 查找进程 MsMpEng.exe。如果该进程仍在运行,说明禁用未生效,需返回上一步检查注册表键值是否写错,或确认组策略是否被域策略覆盖。
这三步做完,Defender将不再主动扫描你的代码文件夹,也不会在下次开机或更新后悄悄复活。编译速度回归正常,调试器可稳定附加,热重载不再中断。


















