VSCode 作为 Git 编辑器 Windows 子系统 linux (WSL)

VSCode as Git editor on Windows Subsystem for linux (WSL)

上下文

系统信息(Windows)

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.17134 N/A Build 17134
...
System Type:               x64-based PC
Processor(s):              1 Processor(s) Installed.
                           [01]: Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~3696 Mhz
BIOS Version:              American Megatrends Inc. 2.20, 10/27/2017

系统信息 (WSL)

OS: Debian
Kernel: x86_64 Linux 4.4.0-17134-Microsoft
Shell: zsh 5.3.1
CPU: Intel Core i7-8700K CPU @ 3.696GHz
RAM: 8041MiB / 16344MiB

Git

我的~/.gitconfig里有这个:

[core]
    editor = code --wait

问题:

当我 运行 git commit、vscode 以 C:\mnt$PathToRepo$\.git\COMMIT_EDITMSG 开头时,但是这个文件是空的(它应该有要提交的更改 + 差异)。

当我写一条提交消息,保存并退出时,我在终端中得到这个:

Aborting commit due to empty commit message.

:

当我这样做时:

  1. 运行 git commit;

  2. 在vscode中写入提交消息(例如:初始化repo),保存并关闭;

  3. 之后Aborting commit due to empty commit message.,我又运行git commit

VSCode 将打开我在第 2 步中编写的相同提交消息(即:Initialize repo

在尝试更多这个解决方案时有效:https://github.com/Microsoft/vscode/issues/27101#issuecomment-306994732

整个问题是翻译 Windows 的文件位置。使用一个脚本,例如链接到那里的脚本 (https://github.com/Milly/wslpath) 和包装脚本将允许消息在 vscode 中正确打开。我个人删除了包装器脚本中的 -n 选项,因为我更喜欢选项卡。

如果重点是在 vscode 上使用 WSL git,这里是官方解决方案:https://code.visualstudio.com/docs/remote/wsl.

基本上,您只需要安装Remote Development Extension Pack