我有两个用于Go开发的VS代码工作区,在这两种情况下都使用Go模块。
在第一个工作区中,我在槽中看到了指示测试代码覆盖率的红/绿条。一切都很好。
在第二秒,我无法获得显示的报道。我知道测试正在运行(由VS Code运行(,使用go test -coverprofile...
,我可以检查输出,它看起来很好。我最初有一个多根工作区,但我尝试为我正在处理的模块创建一个只有一个根的新工作区。我尝试确保根路径不包括符号链接。
我花了几个小时来研究这两个工作区在用户、工作区和文件夹级别的设置之间的差异,但找不到任何差异。
我将感谢并建议如何追踪为什么报道突出显示没有显示。
我正在使用go 1.13.15。
更新
我已经更新到VSCode 1.51.1和1.15.2。没有变化。
然而,当我使用gitdiff时,我确实看到了槽中的覆盖率,只是在正常的编辑器视图中没有
go test -v -cover ./...
上面的代码显示了终端中的覆盖范围,为了在vs代码中显示覆盖范围突出显示,我做了以下
ctrl + shift + P
然后搜索转到:在当前包中切换测试覆盖率并点击回车键。然后检查。
我遇到了类似的问题-我从开发机器#1迁移到开发机器#2,并且有完全相同的环境、软件/工具版本等。代码覆盖率在dev1上按预期工作,但在dev2上没有。
关键的区别在于,在dev2上,我连接到一个vscode工作区,该工作区是我的gopath的符号链接,而在dev1上,该路径是一个合适的目录。当我将dev2上的vscode工作区连接到底层目录,并且而不是符号链接版本时,代码覆盖率开始正确显示。