Kein Zweifel: Visual Studio Code ist der aktuell beste Editor für Text und Code – und er unterstützt Git nativ als Sourcecode-Repository.
Aber was, wenn VS Code als Editor für die Git-Kommandozeile verwendet werden soll, also um Commit-Messages anzuzeigen, Interactive-Rebase-Listen zu erstellen, Diffs zwischen zwei Code-Dateien anzuzeigen und so weiter?
Die aktuellen Git Versionen für Windows erlauben es, diese Option bereits bei der Installation zu wählen:
Aber wie kann VS Code bei bestehenden Git-Installationen als Standard-Editor festgelegt werden, ohne dass gleich eine Git-Neuinstallation nötig ist?
Da hilft nur eine StackOverflow-Recherche. Es stellt sich heraus, dass die Konfiguration sehr simpel ist. Der Konfigrationsparameter core.editor ist für den Aufruf des Editors verantwortlich:
git config --global core.editor "code --wait"
Nun kann VS Code auch gleich genutzt werden, um das Git-Konfigurationsfile zu editieren und dort VS Code zusätzlich noch als Standard-Diff-Tool zu definieren:
git config --global -e
Folgende Informationen müssen dazu in das Konfigurationsfile eingetragen werden:
[diff] tool = default-difftool [difftool "default-difftool"] cmd = code --wait --diff $LOCAL $REMOTE
Das war’s dann schon! Jetzt kann Visual Studio Code in allen Lebenslagen auch auf der Git-Kommandozeile weiterhelfen, zum Beispiel bei…
… Commit-Kommentaren:
git commit
… einem Vergleich des letzten und vorletzten Commits:
git difftool -y head^ head -- Program.cs
…oder einem einem Interactive Rebase:
git rebase --root --interactive
Das – wie ich finde – Beste aber noch zum Schluss: Visual Studio Code versteht auch das Format von Codefiles, in denen Git Merge-Konflike markiert hat, und erlaubt die einfache Auswahl und den Vergleich der zur Verfügung stehenden Codevarianten:
C:\repos\myrepo [master]> git merge mybranch Auto-merging math.cs CONFLICT (content): Merge conflict in math.cs Automatic merge failed; fix conflicts and then commit the result. C:\repos\myrepo [master +0 ~0 -0 !1 | +0 ~0 -0 !1 !]> code .\math.cs
Viel Spaß mit Visual Studio Code in der Git-Kommandozeile!