Jak używać Visual Studio Code jako domyślnego edytora dla Git MergeTool
Dzisiaj próbowałem użyć git mergetool
w wierszu polecenia systemu Windows i zdałem sobie sprawę, że domyślnie używa się VIM , co jest fajne, ale wolałbym VSCode.
Jak mogę mieć Visual Studio Code funkcjonujący jako mój GUI do obsługi konfliktów scalania (lub nawet jako narzędzie różnicujące) dla Gita?
2 answers
Od VSCode 1.13 Better Merge został zintegrowany z rdzeniem VSCode.
Sposobem na ich połączenie jest zmodyfikowanie .gitconfig
i masz dwie opcje .
-
Aby to zrobić z wpisami wiersza poleceń, wprowadź każdy z nich: (Uwaga: zamień
"
na'
W Windows Git Bash, jak wyjaśniono przez Iztok Delfin i e4rache)git config --global merge.tool vscode
git config --global mergetool.vscode.cmd "code --wait $MERGED"
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
-
Aby to zrobić wklejając jakiś wiersz w
.gitconfig
Z KODEM VS .- Uruchom
git config --global core.editor "code --wait"
z linii poleceń. -
Stąd możesz wprowadzić polecenie
git config --global -e
. Będziesz chciał wkleić kod w "dodatkowy blok" poniżej.[user] name = EricDJohnson email = [email protected] [gui] recentrepo = E:/src/gitlab/App-Custom/Some-App # Comment: You just added this via 'git config --global core.editor "code --wait"' [code] editor = code --wait # Comment: Start of "Extra Block" # Comment: This is to unlock VSCode as your git diff and git merge tool [merge] tool = vscode [mergetool "vscode"] cmd = code --wait $MERGED [diff] tool = vscode [difftool "vscode"] cmd = code --wait --diff $LOCAL $REMOTE # Comment: End of "Extra Block"
- Uruchom
Teraz z with w katalogu git z konfliktem run git mergetool
i, tada, masz VSCode, który pomoże Ci poradzić sobie z konfliktem scalania! (Upewnij się, że Zapisz swój plik przed zamknięciem VSCode).
Aby dowiedzieć się więcej o uruchomieniu code
z linii poleceń, zajrzyj do docs.
Aby uzyskać więcej informacji w git mergetool
sprawdź te dokumenty.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-23 21:14:17
Musiałem zastąpić podwójne cudzysłowy prostymi cudzysłowami:
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
Aby działało prawidłowo.
(z podwójnymi cudzysłowami, $LOCAL i $REMOTE są zastępowane przez ich wartości)
Jest to potrzebne, jeśli używasz Git Bash Dla Windows zamiast wiersza polecenia systemu Windows.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-21 10:55:14