Wenn Sie git in der Befehlszeile verwenden, frage ich mich, ob es möglich ist, Visual Studio Code als Standardeditor zu verwenden, dh wenn Sie Commit-Kommentare erstellen und einen Unterschied einer Datei in der Befehlszeile anzeigen.
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, in welchen Befehlszeilenoptionen dies erforderlich wäre die .gitconfig-Datei, um dies zu ermöglichen?
UPDATE 1:
Ich habe einen ähnlichen Ansatz versucht wie in der Vergangenheit für Notepad ++ , 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]>
Der Code wird korrekt mit dem erwarteten Inhalt geöffnet, wartet jedoch nicht auf die Antwort, dh klicken Sie auf Speichern und schließen Sie das Fenster, um zur Eingabeaufforderung zurückzukehren.
UPDATE 2:
Ich habe gerade von einem der Entwickler gehört, die an VSCode arbeiten. Es sieht so aus, als ob diese Funktionalität derzeit nicht unterstützt wird :-(
https://twitter.com/IsidorN/status/595501573880553472
Wenn Sie daran interessiert sind, dass diese Funktion hinzugefügt wird, sollten Sie Ihre Stimmen hier hinzufügen:
UPDATE 3:
Ich wurde zuverlässig darüber informiert, dass diese Funktion vom VSCode-Team übernommen wurde, und freue mich auf eine zukünftige Version, die sie enthalten wird.
UPDATE 4:
Dank des Kommentars von @ f-boucheros 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, ihn auch als Diff-Tool zu verwenden.
UPDATE 5:
Gemäß der akzeptierten Antwort auf die Frage ist dies jetzt mit der Code-Version V1.0 möglich.
quelle
--new-window
zum Befehl hilfreich. Auf diese Weise wird die Git-Operation in einem neuen Fenster geöffnet.Ctrl+Shift+P
? Meins funktioniert nicht (nichtcode --help
verfügbar) und ich verstehe nicht, was bedeutet: "Stellen Sie sicher, dass Sie während der Installation" Zum Pfad hinzufügen "ausgewählt haben." Was soll ich tun, um dies zu überprüfen? Kann mir bitte jemand helfen?"files.hotExit": "off"
Am unteren Rand Ihrer Konfigurationgit config core.editor "code -n --wait"
VS Code 1.17.2 verwenden, der über eine externe Befehlszeile ausgeführt wurde. Beidescode
und brachtecode --wait
mir das "Abbruch-Commit wegen leerer Commit-Nachricht".Soweit ich weiß, ist VSCode nicht mehr in AppData enthalten.
Legen Sie den Standard-Git-Editor fest, indem Sie diesen Befehl in einem Eingabeaufforderungsfenster ausführen:
Der Parameter
-w
,--wait
ist für Fenster zu warten , um vor der Rückkehr geschlossen werden. Visual Studio Code basiert auf Atom Editor. Wenn Sie auch Atom installiert haben, führen Sie den Befehl ausatom --help
. Sie werden sehen, dass das letzte Argument in der Hilfe "Warten" ist.Wenn Sie das nächste Mal eine
git rebase -i HEAD~3
ausführen, wird Visual Studio-Code angezeigt. 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.
quelle
-w
und wo haben Sie das dokumentiert gefunden?git config --global core.editor "code --wait"
.Sie müssen den folgenden Befehl verwenden:
Stellen Sie sicher, dass Sie Ihren Editor von Git Bash aus starten können
Wenn Sie Code.exe mit kurzem Pfad verwenden möchten, können Sie dies tun, indem Sie Ihrem .bash_profile die folgende Zeile hinzufügen:
Und jetzt können Sie es nur mit dem
vscode
Befehl (oder wie auch immer Sie es genannt haben) aufrufen.Einige zusätzliche Informationen:
quelle
-n
ist eine Abkürzung dafür,--new-window
dass git ein neues Editorfenster öffnet, und-w
eine Abkürzung dafür--wait
, dass git darauf wartet, dass Sie das Fenster wieder schließen. Dies ist die einzige Antwort, die für mich funktioniert, da ich, wenn ich VS Code bereits geöffnet habe--wait
, ohne nicht funktionieren kann--new-window
.Eine weitere nützliche Option ist das Festlegen der
EDITOR
Umgebungsvariablen. Diese Umgebungsvariable wird von vielen Dienstprogrammen verwendet, um zu wissen, welcher Editor verwendet werden soll. Git verwendet es auch, wenn nocore.editor
gesetzt ist.Sie können es für die aktuelle Sitzung festlegen, indem Sie:
Auf diese Weise verwenden nicht nur
git
viele andere Anwendungen VS Code als Editor.Um diese Änderung dauerhaft zu machen, fügen Sie diese beispielsweise zu Ihrer hinzu
~/.profile
. Weitere Optionen finden Sie in dieser Frage .Ein weiterer Vorteil dieses Ansatzes besteht darin, dass Sie verschiedene Editoren für verschiedene Fälle festlegen können:
Dies ist besonders bei VS Code (oder einem anderen GUI-Editor) nützlich, da es ohne GUI einfach nicht funktioniert.
Fügen Sie dies unter Linux in Folgendes ein
~/.profile
:Auf diese Weise ist bei Verwendung eines lokalen Terminals die
$SSH_CONNECTION
Umgebungsvariable leer, sodass dercode -w
Editor verwendet wird. Wenn Sie jedoch über SSH verbunden sind, ist die$SSH_CONNECTION
Umgebungsvariable eine nicht leere Zeichenfolge, sodass dervim
Editor verwendet wird. Es ist ein Konsoleneditor, sodass es auch dann funktioniert, wenn Sie über SSH verbunden sind.quelle
Ich öffnete meine
.gitconfig
und änderte sie mit:Das hat es für mich getan (ich bin unter Windows 8).
Ich habe jedoch festgestellt, dass nach dem Versuch einer beliebigen Anzeige
git commit
in meiner Git Bash- Konsole die folgende Meldung angezeigt wird:Unsicher, welche Konsequenzen dies haben könnte.
quelle
app-0.1.0/resources/app/env.js
scheint einige Befehlszeilenflags zu enthalten, die die ausführbare Code-Datei verwendet. Keiner schlägt ein Verhalten vor, das dem von-multiInst
jedoch entspricht.--wait
Flag hinzufügen , und das--new-window
Flag wird ebenfalls dringend empfohlen, damit die Festschreibungsnachricht / diff / was auch immer nicht nur als neue Registerkarte in einem bereits geöffneten Editor angezeigt wird, sodass Sie möglicherweise noch geschlossene Dateien schließen müssen Arbeiten Sie daran, um Git zu signalisieren, dass Sie mit der Bearbeitung fertig sind.GitPad legt Ihren aktuellen Texteditor als Standardeditor für Git fest.
Mein Standardeditor für
.txt
Dateien in Windows 10 ist Visual Studio Code. Durch Ausführen von GitPad wurde es einmal zum Standardeditor für Git. Ich habe die in der Frage genannten Probleme nicht erlebt (Git wartet, bis das VS-Code-Fenster 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.)quelle
Right click
>Open with
>Chose another app
. Ich würde erwarten, dass es sich beim Setup selbst registriert (und die Registrierung bei jedem Update aktualisiert, damit die Shell es findet), aber ich konnte nichts anderes als das Kontextmenüelement "Mit Code öffnen" in der Registrierung finden. Ich habe wirklich keine klarere Antwort darauf, sorry.Gute Nachrichten! Zum Zeitpunkt des Schreibens wurde diese Funktion bereits in der Version 0.10.12-Insider implementiert und über 0.10.14-Insider ausgeführt . Daher werden wir es in der kommenden Version 1.0 von VS Code haben .
Implementierungsreferenz: Implementieren Sie -w / - wait Befehlszeile arg
quelle
Ich möchte diese Schrägstriche nur zu früheren Antworten hinzufügen. Ich verwende Windows 10 CMD und es funktioniert nicht ohne Schrägstriche vor den Leerzeichen.
quelle
Ich bin mir nicht sicher, ob Sie dies tun können, aber Sie können diese Ergänzungen in Ihrer gitconfig-Datei ausprobieren.
Versuchen Sie, kdiff3 von diesen Werten zu ersetzen, um auf die ausführbare Datei von Visual Studio Code zu verweisen.
[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false
quelle
Ich habe Visual Studio Code als Standard zum Öffnen der TXT-Datei eingerichtet. Und als nächstes habe ich einen einfachen Befehl verwendet :
git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'"
. Und alles funktioniert ziemlich gut.quelle
Führen Sie diesen Befehl in Ihrer Mac Terminal-App aus
quelle
Unter Windows 10 mit der 64-Bit-Insider-Edition sollte der Befehl lauten:
Sie können die Datei 'code-insiders.cmd' auch im Verzeichnis 'Programme' in 'code.cmd' umbenennen. Auf diese Weise können Sie jetzt den Befehl 'code' verwenden. um die Bearbeitung der Dateien auf dem zu starten. Verzeichnis
quelle