VS 2019重构VB.NET代码时提示“Has been cloaked”是什么含义?
关于VS 2019 "has been cloaked" 提示的含义与原因
核心定义
该提示中的cloaked是Visual Studio源码管理模块的专属术语,仅作用于版本控制层面,完全不影响代码的编译运行、类的正常调用,不存在代码功能层面的屏蔽。它的实际含义是:当前新增的.vb类文件被版本控制工具标记为「忽略同步」状态,不会自动加入待提交变更列表,也不会被拉取、推送等版本同步操作影响。
常见触发原因
你遇到的提示是拆分多类文件的操作触发了版本控制的规则匹配,大概率属于以下两种情况:
- 项目绑定了TFVC(Team Foundation Version Control)或Git作为版本管理工具,拆分生成的新类文件路径命中了当前工作区的忽略规则(
.tfignore/.gitignore配置、手动设置的文件夹遮蔽规则都可能),被版本控制模块自动识别为不需要同步的文件 - VS 2019重构工具与版本控制模块的联动出现临时异常:从单个多类文件中拆分出新类时,新文件还未完成和
.vbproj项目文件的绑定,版本控制模块暂时无法识别该文件的项目归属,自动标记为cloaked状态避免误提交
排查与处理方式
- 首先切换输出窗口的输出来源为源代码管理分类,就能看到该文件被标记为cloaked的具体触发原因,不会被其他编译类错误淹没
- 如果该文件不需要纳入版本管理,无需任何额外操作,不会影响后续开发
- 如果需要纳入版本管理,右键点击该文件,选择「源代码管理」菜单下的「取消遮蔽(Uncloak)」选项即可,也可以手动将文件加入待提交变更列表
内容的提问来源于stack exchange,提问作者Rod
相关产品推荐
相关产品推荐

