VSCode:使用WSL Git而不是Git for Windows

Mar*_*rel 17 visual-studio-code windows-subsystem-for-linux

我想使用WSL(Windows上的Bash)Git和VSCode而不是Git for Windows来避免多个Git安装.

我创建了一个简单的bat脚本,git.exe通过重定向WSL中的git命令来模拟comportment.它在CMD中运行良好,但在VSCode中运行不正常.此外,WSL是我在VSCode中的默认终端.

VSCode settings.json:

{
    "git.path": "D:\\tools\\git.bat",
    "terminal.integrated.shell.windows": "C:\\Windows\\Sysnative\\bash.exe"
}
Run Code Online (Sandbox Code Playgroud)

git.bat:

@echo off
bash -c 'git %*'
Run Code Online (Sandbox Code Playgroud)

有什么想让VSCode与WSL Git一起工作吗?

Mar*_*rel 18

自 VS Code 1.34(2019 年 4 月)以来,已引入远程扩展以开发 WSL:https//code.visualstudio.com/docs/remote/wsl

基本上,VS Code 的服务器实例启动到 WSL 中,允许您从 Windows 上的客户端实例使用所有 WSL 工具(例如 git)。

感谢您指出@Noornashriq Masnon


小智 14

我创建了一个小工具来为自己解决这个问题,并在GitHub上托管它.

基本的git功能似乎很有用,比如查看更改和提交.

可以从"版本"页面下载即用型二进制文件.

其中一个问题是输入路径需要从Windows表示(C:\Foo\Bar)转换为WSL(/mnt/c/Foo/Bar)中的Linux路径,然后再转换为git输出中的路径.

例如,VSCode中的Git插件使用该命令

git rev-parse --show-toplevel
Run Code Online (Sandbox Code Playgroud)

找到git存储库的根目录,但是使用WSL git,这当然会返回需要在Windows上为VSCode进行转换的Linux路径.