我从 tarball 下载了 VSCode,它没有设置 vscode: 协议绑定。因此,当我安装 VS Code 的 Cody AI 扩展时,它提示我登录,我在 Firefox 中使用 Gitlab 登录,但是当 Firefox 尝试使用 vscode: 协议将我重定向回 VS Code 时,它不知道怎么办,因为协议未注册。
如何手动注册协议?
前往
https://github.com/microsoft/vscode/blob/main/resources/linux/code-url-handler.desktop下载
.desktop
文件模板,然后单击顶部栏中的下载图标文件的内容。
编辑您刚刚下载的文件。将
@@NAME_LONG@@
替换为“VsCode”。将 @@EXEC@@
替换为系统上 code
可执行文件的完整路径。将 @@ICON@@
替换为一些随机应用程序图标,例如firefox
(这并不重要)。将 @@URLPROTOCOL@@
替换为 vscode
。
非常重要 - 不要跳过这一步,我在其他地方找不到该步骤的记录,否则它将无法工作! 将文件移至
~/.local/share/applications
并删除所有 .download
扩展名(如果您的浏览器已添加) - 该文件现在应该具有 .desktop
扩展名。
输入
xdg-settings set default-url-scheme-handler vscode
您的 .desktop 文件名。 请勿提供绝对路径,否则您将收到有关无效应用程序名称的神秘错误。
现在尝试再次登录扩展程序,一切都应该可以正常工作。不过,我确实重新启动了 VSCode 和 Firefox,因此您可能也需要这样做。