1 前言
一直打算用 iPadPro 替代电脑进行开发,不过之前项目繁忙没法抽空处理。
直到最近有闲暇时光研究,本想使用 CodeServer + Cloudflare ZeroTrust的方式,在本地用 docker 起 CodeServer,然后通过 Cloudflare 进行外部鉴权和穿透使用。
但是发现 VsCode 的远程隧道的启用,非常的丝滑,而且官方保证隧道安全和联通性,明显对比自建更胜一筹。
2 问题
顺利连接上,代码也能用了,但是发现一个问题:
Go代码没法跳转到定义(Go To Definition)
我反复确认,在电脑本地环境是没问题的,但是 GO 扩展显示以下错误:
1 | Error loading workspace folders (expected 1, got 0) |
核心是 failed to load view for ...
以及 chdir
命令执行错误。
3 解决方案
3.1 思路
明显这个是 VsCode 针对项目路径进行了尝试,而且我使用了 mac 确定了这个路径是存在的。
但是依旧报错,经过一番 Google 搜索,都指向了 GO 扩展配置问题,试了不同的配置,都发现不行。
最后,进行认真研究了下,发现了问题出在了 ?vscode-lang=zh-cn
,这个是安装了 Chinese(Simplified)(简体中文)Language Pack)
中文语言包后,自动带上的尾巴。
假设项目目录是 /Users/demoUser/Work/project,确实在 Work 目录下找不到 project?vscode-lang=zh-cn 这个目录,所以报错了,
而 VsCode 应该没有正确处理这个尾巴,导致访问系统文件时,带上了这个小尾巴,执行 chdir
命令,就找不到对应的路径了,导致 ** GO 扩展无法正确启动,也就没有办法解析对应的数据,也就没有正确处理跳转到定义(GoToDefinition)**的能力了。
3.2 解决方案
解决方案也就非常简单了,也就是 卸载 Chinese(Simplified)(简体中文)Language Pack) 中文语言包,然后重启隧道,即可。