Wie deaktiviere ich die Funktion zum automatischen Umbenennen von Tags / HTML-Spiegeln von VS Code?

18

Ich wollte in der Lage sein, HTML-Tags einfach zusammen zu bearbeiten. Es schien mir, dass dies heutzutage so einfach zu implementieren ist, deshalb habe ich diese Erweiterung zum automatischen Umbenennen von Tags installiert , und es stellte sich als nicht nützlich für mich heraus: anstatt mir bei der Bearbeitung von HTML / JSX-Code zu helfen, es bricht alles und ich muss rückgängig machen, was es tut und versuchen, das Ding zu bearbeiten, um zu vermeiden, dass es ausgelöst wird.

Die logische Sache hier wäre natürlich, diese Erweiterung von meinem System zu entfernen. Das einzige Problem hierbei ist jedoch, dass ich das scheinbar nicht kann - ich habe es deinstalliert, sogar VS Code neu installiert, VS Code Insiders ausprobiert, aber hier ist es immer noch aktiviert:

in Aktion

Ist es jetzt eingebaut? Wie deaktiviere ich es?

VSCode-Version: 1.41.0, Commit 9579eda04fdb3a9bba2750f15193e5fafe16b959

dmitryguzeev
quelle
HTML - Tags Rename ist ein anderes Merkmal von dem Spiegel Cursor finden stackoverflow.com/questions/36628833/...
Mark
Ja, das Umbenennen von HTML ist eine andere Funktion. Der HTML-Spiegelcursor ähnelt jedoch der Funktionalität der Erweiterung " Auto Rename Tag" , mit der sowohl Start- als auch End-HTML-Tags bearbeitet werden, wenn Sie den Cursor darauf platzieren.
Gino Mempin

Antworten:

29

Ursprüngliche Antwort für 1.41

Es ist jetzt eine integrierte Funktion ab 1.41.

HTML-Spiegelcursor
https://code.visualstudio.com/updates/v1_41#_html-mirror-cursor

VS Code fügt jetzt einen "Spiegelcursor" hinzu, wenn Sie HTML-Tags bearbeiten. Dieses Verhalten wird durch die Einstellung gesteuert html.mirrorCursorOnMatchingTag, die standardmäßig aktiviert ist.

Diese Funktion fügt dem übereinstimmenden Tag einen Mehrfachcursor hinzu, wenn sich der Cursor in einen HTML-Tag-Namensbereich bewegt. Genau wie im Multi-Cursor-Modus können Sie das wortweise Löschen oder die wortweise Auswahl verwenden. Der gespiegelte Cursor wird entfernt, wenn Sie den Cursor außerhalb des Bereichs für den Tag-Namen bewegen.

Wenn Sie entweder den Tag-Start oder das Tag-Ende auswählen, werden jeweils 2 Cursor auf den Cursor gesetzt, sodass beim Bearbeiten des einen auch der andere bearbeitet wird. Es ist standardmäßig aktiviert.

Sie können es in Ihren Einstellungen explizit deaktivieren.

Über die Benutzeroberfläche:

Geben Sie hier die Bildbeschreibung ein

Über settings.json:

"html.mirrorCursorOnMatchingTag": false,

Update für 1.42

Das html.mirrorCursorOnMatchingTagist jetzt standardmäßig ab 1.42 deaktiviert .
In dieser anderen Antwort finden Sie das Zitat aus den Versionshinweisen.


Update für 1.44

Sie haben die Spiegelcursorfunktion geändert und nennen sie jetzt Synchronisierte Regionen .

Geben Sie hier die Bildbeschreibung ein
(kopiert aus den Versionshinweisen zu VS Code 1.44)

Wenn bei Aktivierung von HTML-Tags sowohl Start- als auch End-Tags "synchronisiert" werden, ändert das Ändern eines Tags auch das andere. Die Funktion ist jedoch standardmäßig deaktiviert. Entweder führen Sie den Befehl On Type Rename Symbol explizit aus oder setzen die editor.renameOnTypeEinstellung auf true.

Mit dieser Änderung wird das html.mirrorCursorOnMatchingTagTestament nun als veraltet (oder abgeblendet) angezeigt.

Geben Sie hier die Bildbeschreibung ein

Gino Mempin
quelle
13
Ich fand diese Funktion sehr fehlerhaft und beschädigt HTML beim Kopieren / Einfügen. Ich lasse diesen Kommentar hier, weil Codeentwickler verhindern, dass Probleme auf ihrer Site entstehen :( PS Es scheint, dass html.mirrorCursorOnMatchingTag = false hilft
KoViMa
7
Diese Funktion ist unglaublich fehlerhaft, da sie Inhalte in anderen Tags willkürlich ändert und große Teile des Inhalts löscht, wenn ich Tag-Attribute bearbeite. Es hätte in diesem Zustand niemals ausgehen dürfen. Dinge wie dieses können einen guten Editor ruinieren, wenn sie anfangen, ihn mit halbherzigen und schlecht getesteten Funktionen aufzublähen, wenn es vorher gut funktioniert hat.
Garret Wilson
5
Ich stimme KoViMa und @Garret Wilson zu, dass die standardmäßige Implementierung dieser Funktion das Urteil des Code-Entwicklerteams in Frage stellt. Erklären Sie sich in diesem von MS überwachten Thread darüber: github.com/microsoft/vscode/issues/87737
VanAlbert
1
@ VanAlbert, danke; Ich habe das Problem kommentiert .
Garret Wilson
1

Siehe https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#html-mirror-cursor-off-by-default mit Version 1.42, die Anfang Februar 2020 veröffentlicht wird.

HTML Mirror Cursor standardmäßig deaktiviert

Wir haben Mirror Cursor zu einer Opt-In-Funktion gemacht. In der kommenden Iteration werden wir die Implementierung weiter verbessern, um diese Funktion leichter verständlich und für mehr Sprachen verfügbar zu machen. Sie können diese Funktion weiterhin verwenden, indem Sie sie aktivieren html.mirrorCursorOnMatchingTag.

----- Update März 2020 ----------

Die vscode-Entwickler haben dich gehört. Die Spiegelcursorfunktionalität wird wesentlich geändert. Sie können es jetzt im Insider-Build testen, damit es möglicherweise in Version 1.44 oder bald danach verfügbar wird.

Insbesondere das Einfügen in ein Tag wurde erheblich verbessert. Und keine doppelten Cursor. Siehe https://github.com/microsoft/vscode/issues/88424#issuecomment-600840619

Und Versionshinweise : https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_44.md#synced-regions Es ist in Version 1.44.

Kennzeichen
quelle