Stellen Sie einzelne gelöschte Zeilen in Visual Studio Code bereit

Lesezeit: 3 Minuten

Ich verwende Visual Studio Code und seine integrierte Versionskontrolle. Ich möchte eine Gruppe gelöschter Zeilen in zwei verschiedene Commits aufteilen.

Ich kenne die Option “Ausgewählte Bereiche inszenieren”, aber soweit ich sehe, kann ich gelöschte Zeilen nicht auswählen.

Gibt es einen Weg, es zu erreichen?

Vielen Dank

Geben Sie hier die Bildbeschreibung ein

  • Ich habe es versucht Stage Selected Ranges und es funktionierte gut mit gelöschten Zeilen. Sie können die Maus verwenden oder Shift+Down Arrow um die gelöschten Zeilen auszuwählen.

    – ElpieKay

    26. Juli 2019 um 10:08 Uhr

  • @ElpieKay Es sieht so aus Stage Selected Ranges Die Option funktioniert nur für die Auswahl auf der rechten Seite, aber in meinem Fall muss ich Zeilen auf der linken Seite auswählen. Wenn ich die ersten 4 Zeilen auswähle und dann auf die klicke Stage Selected Ranges Option passiert nichts.

    – Fabelhaft

    26. Juli 2019 um 10:25 Uhr

  • Ich habe die Linien auf der linken Seite ausgewählt.

    – ElpieKay

    26. Juli 2019 um 11:05 Uhr

  • Ich weiß, dass Sie nach vscode fragen, nicht nach der Befehlszeile, aber nach dem, was es wert ist, git add -p <filename> lässt dich machen was du willst.

    – Johannis

    26. Juli 2019 um 12:46 Uhr

  • @ElpieKay Jetzt habe ich Zeilen von 13 bis 17 ausgewählt, dann CMD + STRG + P und dann Stage Selected Ranges, aber der gesamte Block von 13 bis 22 wird zur Bühne hinzugefügt. Ich weiß nicht, vielleicht mache ich etwas falsch.

    – Fabelhaft

    26. Juli 2019 um 12:54 Uhr

Benutzeravatar von Gino Mempin
Gino Mempin

Ich fürchte, es gibt keine Möglichkeit, mit VS Code zu tun, was Sie wollen.

Es ist kein VS-Code-Problem, es ist ein git Problem. git weist VS Code an, diese aufeinanderfolgenden Änderungen als ein Stück zu behandeln, und so weiter git kann es nicht teilen, dann kann VS Code es auch nicht.

Versuchen Sie es mit Laufen git add -p auf der Befehlszeile, und Sie werden das wahrscheinlich sehen git behandelt diese Änderungen als ein Stück, da sie ziemlich nahe beieinander liegen. Versuchen Sie, vorbeizukommen s auf der git add -p Eingabeaufforderung, und wenn es heißt “Tut mir leid, dieser Brocken kann nicht geteilt werden“, dann kann VS Code das auch nicht.

Ich denke, der einzige Weg ist, die Patch-Datei manuell mit zu bearbeiten git.
Siehe: Kann ich einen bereits geteilten Hunk mit Git teilen?

Es gab Anfragen für VS Code, um die Bearbeitung von Patch-Dateien wie folgt zu unterstützen: https://github.com/Microsoft/vscode/issues/69891worauf die Antwort lautete:

Wir versuchen, VS Code schlank zu halten, und wir denken, dass die von Ihnen geforderte Funktionalität für eine VS Code-Erweiterung großartig ist. Vielleicht finden Sie in der bereits eine, die zu Ihnen passt VS Code Marktplatz.

AFAIK, die einzige Patch-bezogene Erweiterung ist Git-Patch. Sie können damit Patches aus gestaffelten/nicht gestaffelten Änderungen erstellen, aber Sie können nicht auswählen, welche Änderungen dem Patch hinzugefügt werden sollen. Sie müssen den Patch manuell bearbeiten, Ihre Änderungen verwerfen und dann den Patch einzeln anwenden. Es ist so ziemlich dasselbe wie tun git add -p und dann vorbei e.

  • Danke für deine Antwort, ich stimme zu. In der Vergangenheit habe ich jedoch Source Tree verwendet und konnte dies problemlos tun (ich meine, mehrere Zeilen innerhalb desselben Blocks auswählen und inszenieren).

    – Fabelhaft

    27. Juli 2019 um 14:19 Uhr

  • Ich denke, SourceTree erstellt und bearbeitet die Patch-Dateien intern für Sie. Ich erinnere mich, dass es eine eigene Patchdatei-Funktionalität hat.

    – Gino Mempin

    28. Juli 2019 um 3:44 Uhr


  • Mit Git-Erweiterungen können Sie dies ebenfalls einfach tun.

    – James Affleck

    15. Januar 2020 um 21:52 Uhr

  • Ach, wirklich Microsoft? Atom konnte dies problemlos tun.

    – wjandrea

    5. November 2022 um 17:14 Uhr

1440070cookie-checkStellen Sie einzelne gelöschte Zeilen in Visual Studio Code bereit

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy