Issue
I downloaded and ran VS Code from a tarball, which does not set up the vscode:
protocol binding. So when I installed the Cody AI extension for VS Code, it prompted me to sign in, and I signed in with GitLab in Firefox, but when Firefox tried to redirect me back to VS Code using the vscode:
protocol, it didn't know how to because the protocol wasn't registered.
How can I register the protocol manually?
Solution
Download the
.desktop
file template by going to https://github.com/microsoft/vscode/blob/main/resources/linux/code-url-handler.desktop and clicking the download icon in the top bar of the file.Edit the file you just downloaded. Replace
@@NAME_LONG@@
with "VS Code". Replace@@EXEC@@
with the full path to thecode
executable on your system. Replace@@ICON@@
with some random application icon, e.g.firefox
(it doesn't really matter). Replace@@URLPROTOCOL@@
withvscode
.Very important - do not skip this step, which I couldn't find documented anywhere else, or it won't work! Move the file into
~/.local/share/applications
and remove any.download
extension if your browser has added it - the file should now have a.desktop
extension.Type
xdg-settings set default-url-scheme-handler vscode <your .desktop filename>
. Do not provide an absolute path or you will get a cryptic error about invalid application name.
Now try logging in to the extension again and it should all work. However, I did restart VS Code and Firefox, so you might need to do that as well.
Answered By - Robin Green Answer Checked By - Robin (WPSolving Admin)