前言
大家好!今天染念想和大家分享一下我最近在使用 VS Code 时遇到的一个有趣问题,以及我是如何解决它的。这个问题涉及到在 Windows 上使用 WSL(Windows Subsystem for Linux)时的一个安全设置问题。
首先,让我简单回顾一下问题本身。在尝试用 VS Code 编辑位于 WSL 上的 main.cpp 文件时,我遇到了一个错误。错误信息提示:
由于意外错误,无法打开编辑器: 无法读取文件’\wsl.localhost\Ubuntu\home\dyedd\main.cpp’ (Unknown (FileSystemError): UNC host ‘wsl.localhost’ access is not allowed. Please update the ‘security.allowedUNCHosts’ setting if you want to allow this host.)
出报错信息上可知,需要我更新’security.allowedUNCHosts’,可是也没有相关文档告诉我修改哪呢,host又是什么?
换个搜索引擎(很关键),我发现这个问题是由于最近的 VS Code 更新导致的。在1.78.1版本中,VS Code 加强了对 UNC(Universal Naming Convention)路径的安全控制。
解决方法
-
打开 VS Code:首先,当然是打开你的 VS Code 编辑器。
-
进入设置:转到“首选项” -> “设置”。这里是 VS Code 所有配置的大本营。
-
搜索安全设置:在设置的搜索栏里,输入 security.allowedUNCHosts。这个设置项是本次解决问题的关键。
-
添加 ‘wsl.localhost’:在出现的选项里,添加 wsl.localhost 到列表中。这样做是告诉 VS Code,‘wsl.localhost’ 是一个受信任的主机,可以安全访问。
-
重启 VS Code:更改设置后,确保重启你的 VS Code 以使更改生效。这一步很重要,不重启的话设置不会生效。
在完成这些步骤之后,我再次尝试访问 WSL 上的文件,一切都如预期工作了!
转载于我的博客
最后
吐槽:国内的搜索引擎一言难尽啊,无法搜索到很多外网写的解决方案,这对于开发者来说十分不友好,唯一能搜到的一篇CSDN还没有说清如何解决,放了一个IP上去,又不适用每个人…无奈