2017-06-08 22 views
5

Tôi muốn sử dụng WSL (Bash trên Windows) Git với VSCode thay vì Git cho Windows để tránh nhiều cài đặt Git.VSCode: sử dụng WSL Git thay vì Git cho Windows

Tôi đã tạo một tập lệnh dơi đơn giản để mô phỏng git.exe phân loại bằng cách chuyển hướng lệnh git trong WSL. Nó hoạt động độc đáo trong CMD nhưng không hoạt động với VSCode. Ngoài ra, WSL là thiết bị đầu cuối mặc định của tôi trong VSCode.

VSCode settings.json:

{ 
    "git.path": "D:\\tools\\git.bat", 
    "terminal.integrated.shell.windows": "C:\\Windows\\Sysnative\\bash.exe" 
} 

git.bat:

@echo off 
bash -c 'git %*' 

Bất kỳ ý tưởng để làm VSCode làm việc với WSL Git?

+0

Điều kỳ lạ đối với tôi là cách tiếp cận này hoạt động đối với ruby, rubocop và mọi tệp thực thi khác mà tôi đã thử. Tôi không hiểu tại sao nó không hoạt động cho git. –

Trả lời

5

Tôi tạo ra một công cụ nhỏ để giải quyết việc này cho bản thân mình, và hosted it on GitHub.

Chức năng git cơ bản dường như hoạt động, như xem thay đổi và cam kết.

Một tệp nhị phân sẵn sàng để sử dụng có thể được tải xuống from the Releases page.

Một trong những vấn đề là đường dẫn đầu vào cần được dịch từ biểu diễn Windows (C:\Foo\Bar) sang đường dẫn Linux trong WSL (/mnt/c/Foo/Bar) và ngược lại cho đường dẫn trong đầu ra của git.

Ví dụ, các plugin Git trong VSCode sử dụng lệnh

git rev-parse --show-toplevel 

để tìm ra thư mục gốc của kho git, nhưng với WSL git này tất nhiên trả về một con đường Linux mà cần phải được dịch cho VSCode trên Windows.

+0

Cảm ơn bạn, exe của bạn hoạt động hoàn hảo! Tôi đã không nghĩ về vấn đề đường dẫn. Tôi sẽ cố gắng giải quyết vấn đề này trong kịch bản của tôi và đăng giải pháp ở đây khi tôi có thời gian. –

0

Cung cấp đường dẫn đầy đủ cho exec bash:

git.bat:

@echo off 
c:\windows\sysnative\bash.exe -c "git %*" 
+0

Giải pháp này không thay đổi gì cả. –

Các vấn đề liên quan