Wie finde und ersetze ich alle Vorkommen (in allen Dateien) in Visual Studio Code?

245

Ich kann mit Visual Studio Code Version 1.0 nicht herausfinden, wie alle Vorkommen eines Wortes in verschiedenen Dateien gefunden und ersetzt werden können.

Ich habe den Eindruck, dass dies möglich sein sollte, da ich mit Strg + Umschalt + F einfach einen Ordner durchsuchen kann, aber ich weiß nicht, wie ich von hier aus vorgehen soll.

Ich habe in verschiedenen Tastenkombinationen https://code.visualstudio.com/Docs/customization/keybindings gesucht

Ich habe jedoch nur herausgefunden, wie alle Vorkommen in der geöffneten Datei ersetzt werden können (Strg + h).

Alle Hilfe dankbar geschätzt, das macht mich verrückt.

Cisum Inas
quelle

Antworten:

363

Ich verwende Visual Studio Code 1.8 und diese Funktion ist verfügbar. Aber es ist zunächst etwas schwierig zu verstehen, und (zum Zeitpunkt des Schreibens) erklären die Dokumente nicht klar, wie es verwendet wird. So funktioniert es Schritt für Schritt:

Invoke Ersetzen in Dateien (unter dem Menü Bearbeiten oder mit dem Shortcut Ctrl+ Shift+ H)

Sie sehen eine Standardeingabe zum Suchen / Ersetzen, die den Dateibereich auf der linken Seite ersetzt:

Geben Sie hier die Bildbeschreibung ein

Geben Sie Ihre Suchzeichenfolge und die Ersetzungszeichenfolge ein und drücken Sie die Eingabetaste. Möglicherweise werden alle Dateien für eine Sekunde durchsucht, und dann werden die vorgeschlagenen Änderungen in allen Projektdateien angezeigt. Beachten Sie jedoch, dass diese Änderungen noch nicht vorgenommen wurden. So sieht es aus:

Geben Sie hier die Bildbeschreibung ein

Jetzt müssen Sie die Änderungen vornehmen (und auch danach müssen Sie die geänderten Dateien speichern .)

Sie können diese Änderungen auf verschiedene Arten vornehmen:

1) Nehmen Sie alle Änderungen an allen Dateien gleichzeitig vor.

Klicken Sie auf das Ersetzungssymbol neben Ihrer Ersetzungszeichenfolge (Hinweis: Sie erhalten ein Dialogfeld zur Bestätigung dieser Massenaktion.)

Geben Sie hier die Bildbeschreibung ein

2) Nehmen Sie alle Änderungen in einer einzigen Datei gleichzeitig vor.

Klicken Sie auf das Ersetzungssymbol neben dem Dateinamen (Hinweis: Das Symbol wird nur angezeigt, wenn Sie den Mauszeiger über die Dateinamenzeile bewegen.)

Geben Sie hier die Bildbeschreibung ein

3) Nehmen Sie eine einzelne Änderung in einer einzelnen Datei vor.

Klicken Sie auf das Ersetzungssymbol neben der einzelnen Änderung: (Hinweis: Das Symbol wird nur angezeigt, wenn Sie den Mauszeiger über die Änderungszeile bewegen.)

Geben Sie hier die Bildbeschreibung ein

Vergessen Sie nicht zu sparen!

Alle diese Dateien werden jetzt im Editor geändert und noch nicht auf der Festplatte gespeichert.

Verwenden Sie Datei -> Alle speichern (oder Ctrl+ Alt+ S)

Update: Ich bin nicht sicher, wann dies hinzugefügt wurde, aber wenn Sie auf die Schaltfläche "Alle ersetzen" klicken und dieses Dialogfeld sehen, werden durch Klicken auf "Ersetzen" alle Dateien mit einem Klick geändert und gespeichert:

Geben Sie hier die Bildbeschreibung ein

Jeff Ward
quelle
1
Ist es möglich, ein "Suchen-Ersetzen" zu speichern? Ich suche oft nach 'class =' ​​und ersetze durch 'className ='
Rune Jeppesen
1
Ist es möglich, den letzten Schritt zu überspringen und eine stille Suche und Ersetzung durchzuführen? Wenn ich trivial suche und ersetze, möchte ich nicht jede einzelne Datei speichern.
Samstag,
1
Ich bin mir nicht sicher, ob ich eine dieser Fragen beantworten soll. Beachten Sie jedoch, dass bei @satJ Ctrl+Alt+Salle geänderten Dateien auf einmal gespeichert werden, sodass dies ziemlich schnell und einfach geht.
Jeff Ward
Verdammt, das ist gefährlich, alle Dateien standardmäßig zu ändern. Gibt es einen Befehl zum Suchen / Ersetzen in einer einzelnen Datei?
Alexander Mills
Die aktuelle Standardeinstellung zum Speichern aller ist Strg-k, gefolgt von den Buchstaben s. Strg-k, gefolgt von Strg + w, schließt alle Fenster, nachdem die Programme eine Reihe von Fenstern geöffnet haben.
Rebecca
25

Aktualisieren

Ab Version 1.3 (Juni 2016) ist es möglich, in Visual Studio Code zu suchen und zu ersetzen. Mit Strg + Umschalt + F können Sie alle Vorkommen suchen und ersetzen.

Dies scheint derzeit nicht möglich zu sein (Version 1.1.1 (April 2016))

"F: Ist es möglich, global zu suchen und zu ersetzen?

A: Diese Funktion ist noch nicht implementiert, aber Sie können davon ausgehen, dass sie in Zukunft verfügbar sein wird! "

https://code.visualstudio.com/Docs/editor/codebasics

Dies scheint auch von der Community angefordert zu werden: https://github.com/Microsoft/vscode/issues/1690

Cisum Inas
quelle
Um nach Inhalten in einem bestimmten Ordner zu suchen, fügen Sie einfach den Ordnerpfad in das Feld ein files to include. Sie können Dinge auch außerhalb des Arbeitsbereichs finden / ersetzen. ⚠ Es wird nicht innerhalb von Dateinamen gesucht, sondern innerhalb der Dateien. (
Weiß
22

So ersetzen Sie eine Zeichenfolge in einer einzelnen Datei (derzeit geöffnet): CTRL + H

Zum Ersetzen auf Arbeitsbereichsebene verwenden Sie: CTRL + SHIFT + H

Sidd501
quelle
Hinweis: Sie müssen die Eingabetaste drücken, damit die Suche ausgeführt wird, wenn Sie Strg + Umschalt + H verwenden.
Aaron Franke
19

Dies ist der beste Weg.

  1. Setzen Sie zuerst Ihren Cursor auf das Element und klicken Sie auf F2.

  2. Geben Sie dann den neuen Namen ein und drücken Sie die Eingabetaste. Dadurch werden alle Vorkommen in jeder Datei in Ihrem Projekt umbenannt.

Dies ist ideal, wenn Sie mehrere Dateien umbenennen möchten. Beispielsweise möchten Sie möglicherweise eine öffentlich zugängliche Funktion in einem Angular-Dienst umbenennen und überall dort, wo sie verwendet wird, aktualisieren.

Für weitere großartige Tools empfehle ich: https://johnpapa.net/refactoring-with-visual-studio-code/

DonDaniel
quelle
Was ist, wenn ich Vorkommen nur in der aktuellen Datei umbenennen möchte?
Temirbek
@temirbek Ich verfolge diese Anfrage seit einer Weile. Es ist 2+ Jahre her und es wurde noch nicht implementiert. github.com/Microsoft/vscode/issues/14836
DonDaniel
Hallo, benennt es auch die zugehörigen Ordner um und importiert sie?
Tamashi Kaizen
5

Auf der Seite Visual Studio-Codetastenbindungen enthält der Abschnitt Referenz für Tastaturkürzel Links zu einer PDF-Datei für jedes Hauptbetriebssystem. Suchen Sie nach dem Öffnen nach "In Dateien ersetzen" oder einer anderen Verknüpfung, die Sie möglicherweise benötigen.

Eine andere Möglichkeit besteht darin, die Befehlspalette ( ctrl/cmd+ shift+ P) zu verwenden, in der Sie "Ersetzen" eingeben können, um alle zugehörigen Befehle aufzulisten, einschließlich des gewünschten Befehls :

In Dateien ersetzen ctrl/cmd+ shift+H

T04435
quelle