it-swarm.com.de

Verwendung von Visual Studio Code als Standardeditor für Git

Wenn ich git in der Befehlszeile verwende, frage ich mich, ob es möglich ist, Visual Studio Code als Standardeditor zu verwenden, d. H. Beim Erstellen von Commit-Kommentaren und beim Betrachten eines Unterschieds einer Datei in der Befehlszeile.

Ich verstehe, dass es nicht möglich sein wird, es für Zusammenführungen zu verwenden (zumindest im Moment), aber weiß jemand, ob es möglich ist, es zum Betrachten von Diffs zu verwenden, und wenn ja, welche Befehlszeilenoptionen erforderlich wären die .gitconfig-Datei, um dies zu ermöglichen?

UPDATE 1:

Ich habe einen Ansatz ähnlich dem ausprobiert, was ich in der Vergangenheit für Notepad ++ getan habe , d. H.

#!/bin/sh

"c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"

Und verwendet:

#!/bin/sh

"C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*"

Dies führt jedoch zu einer Fehlermeldung:

C:\temp\testrepo [master +1 ~0 -0]> git commit
[8660:0504/084217:ERROR:crash_reporter_win.cc(70)] Cannot initialize out-of-process crash handler
Aborting commit due to empty commit message.
C:\temp\testrepo [master +1 ~0 -0]>

Code wird ordnungsgemäß mit dem erwarteten Inhalt geöffnet, wartet jedoch nicht auf die Antwort, d. H. Auf Speichern und Schließen des Fensters, um zur Eingabeaufforderung zurückzukehren.

UPDATE 2:

Ich habe gerade von einem der Entwickler gehört, die an VSCode arbeiten. Diese Funktionalität wird derzeit anscheinend nicht unterstützt :-(

https://Twitter.com/IsidorN/status/595501573880553472

Wenn Sie daran interessiert sind, dass diese Funktion hinzugefügt wird, können Sie hier Ihre Stimmen abgeben:

http://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7756482-support-git-configure-diff-and-merge-tools

UPDATE 3:

Ich wurde zuverlässig darüber informiert , dass dieses Feature vom VSCode-Team aufgenommen wurde, und freue mich auf eine zukünftige Version, die es enthalten wird.

UPDATE 4:

Dank des @ f-boucheros-Kommentars unten konnte ich VS Code als Standardeditor für Commit-Kommentare, Rebase usw. verwenden. Ich würde immer noch gerne sehen, ob es möglich ist, es auch als Diff-Tool zu verwenden.

UPDATE 5:

Laut der akzeptierten Antwort auf die Frage ist dies jetzt mit der Codeversion V1.0 möglich.

289
Gary Ewan Park

In der neuesten Version (v1.0, veröffentlicht in März 2016 ) können Sie jetzt VS-Code als Standardgit verwenden) Commit/Diff-Tool . Zitiert aus den Dokumentationen:

  1. Stellen Sie sicher, dass Sie code --help über die Befehlszeile ausführen können und Hilfe erhalten.

    • wenn Sie keine Hilfe sehen, gehen Sie wie folgt vor:

      • Mac: Wählen Sie Shell-Befehl: Installieren Sie den Befehl 'Code' in Pfad von der Befehlspalette.

        • Die Befehlspalette wird angezeigt, wenn Sie drücken shift +  + P während in VS Code. (shift + ctrl + P in Windows)
      • Windows: Stellen Sie sicher, dass Sie während der Installation Add to PATH ausgewählt haben.
      • Linux: Stellen Sie sicher, dass Sie Code über unsere neuen .deb- oder .rpm-Pakete installiert haben.
  2. Führen Sie in der Befehlszeile git config --global core.editor "code --wait" aus.

Jetzt können Sie git config --global -e ausführen und VS Code als Editor zum Konfigurieren von Git verwenden. enter image description here Fügen Sie Folgendes hinzu, um die Unterstützung für die Verwendung von VS-Code als Diff-Tool zu aktivieren:

[diff]
    tool = default-difftool
[difftool "default-difftool"]
    cmd = code --wait --diff $LOCAL $REMOTE

Dies nutzt die neue Option --diff, die Sie an VS Code übergeben können, um zwei Dateien nebeneinander zu vergleichen.

Zusammenfassend sind hier einige Beispiele, wo Sie Git mit VS Code verwenden können:

  • git rebase HEAD~3 -i ermöglicht interaktives Rebase mit VS-Code
  • git commit ermöglicht die Verwendung von VS-Code für die Festschreibungsnachricht
  • git add -p gefolgt von e für interaktives Hinzufügen
  • git difftool <commit>^ <commit> ermöglicht die Verwendung von VS-Code als Diff-Editor für Änderungen
532
rexcfnghk

Soweit ich weiß, ist VSCode nicht mehr in AppData enthalten.

So legen Sie den Standard-Git-Editor fest, indem Sie diesen Befehl in einem Eingabeaufforderungsfenster ausführen:

git config --global core.editor "'C:\Program Files (x86)\Microsoft VS Code\code.exe' -w"

Der Parameter -w, --wait wartet, bis das Fenster geschlossen ist, bevor er zurückkehrt. Visual Studio Code basiert auf Atom Editor. Wenn Sie auch atom installiert haben, führen Sie den Befehl atom --help aus. Sie werden sehen, dass das letzte Argument in der Hilfe Warten ist.

Wenn Sie das nächste Mal einen git rebase -i HEAD~3 ausführen, wird Visual Studio-Code eingeblendet. Sobald VSCode geschlossen ist, übernimmt Git die Führung zurück.

Hinweis: Meine aktuelle Version von VSCode ist 0.9.2

Ich hoffe das hilft.

28
Frank Boucher

Sie müssen den Befehl verwenden:

git config --global core.editor "'C:\Program Files\Microsoft VS Code\code.exe' -n -w"

Stellen Sie sicher, dass Sie Ihren Editor von Git Bash aus starten können

Wenn Sie Code.exe mit einem kurzen Pfad verwenden möchten, können Sie dies tun, indem Sie die folgende Zeile zu Ihrem .bash_profile hinzufügen:

alias vscode="C:/Program\ Files/Microsoft\ VS\ Code/Code.exe"

Und jetzt können Sie es nur mit dem Befehl vscode aufrufen (oder wie auch immer Sie es genannt haben)

Einige zusätzliche Informationen:

Das Setup-Programm fügt Visual Studio-Code zu% PATH% hinzu, sodass Sie in der Konsole "Code" eingeben können, um VS-Code für diesen Ordner zu öffnen. Sie müssen Ihre Konsole nach der Installation neu starten, damit die Änderung der Umgebungsvariablen% PATH% wirksam wird.

11
IluxaKuk

Eine weitere nützliche Option ist das Festlegen der Umgebungsvariablen EDITOR. Diese Umgebungsvariable wird von vielen Dienstprogrammen verwendet, um den zu verwendenden Editor zu ermitteln. Git benutzt es auch, wenn kein core.editor gesetzt ist.

Sie können es für die aktuelle Sitzung festlegen, indem Sie Folgendes verwenden:

export EDITOR=code --wait

Auf diese Weise wird nicht nur git, sondern auch in vielen anderen Anwendungen VS-Code als Editor verwendet.

Um diese Änderung dauerhaft zu machen, fügen Sie diese beispielsweise zu ~/.profile hinzu. Siehe diese Frage für weitere Optionen.

2

Ich öffnete meinen .gitconfig und änderte ihn mit:

[core]
    editor = 'C:/Users/miqid/AppData/Local/Code/app-0.1.0/Code.exe'

Das hat es für mich getan (ich bin auf Windows 8).

Ich bemerkte jedoch, dass, nachdem ich einen beliebigen git commit ausprobiert hatte, in meiner Git Bash Konsole die folgende Meldung angezeigt wird:

[9168:0504/160114:INFO:renderer_main.cc(212)] Renderer process started

Unsicher, welche Konsequenzen dies haben könnte.

2
miqh

Gute Nachrichten! Zum Zeitpunkt des Schreibens wurde diese Funktion bereits in der Version .10.12-insiders implementiert und über .10.14-insiders ausgeführt. Daher werden wir es in der kommenden Version haben 1.0 Release von VS Code .

Implementation Ref: Implementiere -w/- wait Kommandozeilenargument

1
Wasif Hossain

GitPad Legt Ihren aktuellen Texteditor als Standardeditor für Git fest.

Mein Standardeditor für .txt -Dateien in Windows 10 ist Visual Studio Code, und das Ausführen von GitPad hat es einmal zum Standardeditor für Git gemacht. Ich habe die in der Frage genannten Probleme nicht erlebt (Git wartet, bis das VS-Codefenster in meinem Fall geschlossen wird).

(Der Link für die .exe -Datei hat bei mir nicht funktioniert. Möglicherweise müssen Sie die Quelle selbst kompilieren.)

1
Şafak Gür

Führen Sie diesen Befehl in Ihrer Mac Terminal-App aus

git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code"
1
Mohammed

Ich möchte diese Schrägstriche nur zu früheren Antworten hinzufügen. Ich arbeite unter Windows 10 CMD und es funktioniert nicht ohne Schrägstriche vor den Leerzeichen.

git config --global core.editor "C:\\Users\\your_user_name\\AppData\\Local\\Programs\\Microsoft\ VS\ Code\\Code.exe"
1
Victor Ma

unter Windows 10 mit der 64-Bit-Insider-Edition sollte der Befehl wie folgt lauten:

git config --global core.editor "'C:\Programme\Microsoft VS Code Insiders\bin\code-insiders.cmd'"

sie können die Datei 'code-insiders.cmd' auch in 'code.cmd' im Verzeichnis 'Programme' umbenennen. Auf diese Weise können Sie jetzt den Befehl 'code' verwenden. um mit der Bearbeitung der Dateien zu beginnen. Verzeichnis

Ich bin nicht sicher, ob Sie dies tun können, aber Sie können diese Zusätze in Ihrer gitconfig-Datei ausprobieren.

Versuchen Sie, kdiff3 von diesen Werten zu ersetzen, um auf den ausführbaren Visual Studio-Code zu verweisen.

[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false

0
SJMan

Ich habe Visual Studio Code als Standard zum Öffnen der TXT-Datei eingerichtet. Und als nächstes habe ich einen einfachen Befehl benutzt: git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'". Und alles funktioniert ziemlich gut.

0
Zidu