返回

VSCode 作为 Git 编辑器:解决本地与远程编辑问题

windows

使用 VSCode 作为 Git 编辑器时的常见问题:本地与远程编辑

问题

当你使用 VSCode 作为 Git 编辑器时,你可能希望在本地计算机上打开编辑器而不是远程计算机上。然而,如果远程计算机上已经打开了 VSCode 窗口,预期的 Git 编辑器就会在远程计算机上打开。

解决方案

要将 Git 编辑器打开行为更改为在本地计算机上打开,请执行以下步骤:

  1. 修改本地计算机上的 .gitconfig 文件

    在本地计算机上,编辑 .gitconfig 文件并添加以下行:

    [remote "origin"]
        url = ssh://user@remote-machine:2222/path/to/git/repo
        openvscodeinlocal = true
    

    user 替换为远程计算机的用户名,将 2222 替换为 SSH 端口(如果不同),并将 path/to/git/repo 替换为远程 Git 存储库的路径。

  2. 重启 VSCode

    重新启动 VSCode 以应用更改。

  3. 再次运行 git 命令

    再次运行打开编辑器的 git 命令,这次编辑器应该会在你的本地计算机上打开。

注意事项

  • 确保本地计算机上安装了必要的 SSH 客户端,例如 OpenSSH。
  • 如果在远程计算机上运行命令,则需要通过 SSH 隧道连接到本地计算机。
  • 此解决方案仅适用于使用 SSH 协议的远程存储库。

其他有用的提示

  • 你可以将 openvscodeinlocal 设置为 false,以便在远程计算机上打开编辑器。
  • 你可以根据需要创建多个 remote 部分,并为每个部分指定不同的 openvscodeinlocal 设置。
  • 如果你在设置过程中遇到任何问题,请查看 VSCode 文档或寻求在线支持。

结论

通过对本地计算机上的 .gitconfig 文件进行简单的修改,你可以控制 Git 编辑器是在本地计算机上还是远程计算机上打开。这提供了更高的灵活性并根据你的喜好优化工作流程。

常见问题解答

  1. 如何知道我的远程计算机的 SSH 端口?

    通常,SSH 端口为 22,但可以在远程计算机的 SSH 配置中进行更改。你可以使用 netstat -an | grep ssh 命令来检查端口。

  2. 为什么即使没有打开远程 VSCode 窗口,我也会在远程计算机上打开编辑器?

    可能是因为你的远程计算机上启用了 SSH 服务器并允许远程登录。你可以检查远程计算机的 SSH 配置以禁用远程登录。

  3. 我该如何在不同的远程计算机之间切换编辑器打开行为?

    你可以通过在 .gitconfig 文件中创建不同的 remote 部分并为每个部分指定不同的 openvscodeinlocal 设置来实现这一点。

  4. 是否可以一次打开多个编辑器窗口?

    是的,你可以通过使用 --reuse-window 选项来实现这一点。在 .gitconfig 文件中,将 difftoolmergetool 命令修改为以下内容:

    [difftool "vscode"]
        cmd = code --wait --reuse-window --diff $LOCAL $REMOTE
    [mergetool "vscode"]
        cmd = code --wait --merge $REMOTE $LOCAL $BASE $MERGED
    
  5. 还有其他方法可以在本地计算机上打开编辑器吗?

    是的,你还可以使用 Remote Development 扩展 在本地计算机上运行远程编辑器。