Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to disable VS Code auto-rename-tag / HTML mirror feature?

I wanted to be able to easily edit HTML tags together. It seemed to me like this is such an easy thing to implement nowadays, so I've installed this auto-rename-tag extension, and it turned out to be not useful for me: instead of helping me in html/jsx code editing, it breaks everything and I have to undo what it does and try to edit the thing to avoid triggering it.

The logical thing here would obviously be to remove this extension from my system. The only problem here, however, is that I can't seem to do that - I've uninstalled it, even reinstalled VS Code, tried VS Code Insiders, but here it is, still enabled:

in action

Is it built-in now? How do I disable it?

VSCode version: 1.41.0, commit 9579eda04fdb3a9bba2750f15193e5fafe16b959

like image 837
comonadd Avatar asked Dec 18 '19 13:12

comonadd


People also ask

How do I disable auto tag in Vscode?

Go to File > Preference > Setting ( Ctrl + , ) Extension > HTML. And remove tick from the "Auto Closing Tags".

What is enable auto rename tag in VS code?

Add entry into auto-rename-tag. activationOnLanguage to set the languages that the extension will be activated. By default, it is ["*"] and will be activated for all languages. The setting should be set with language id defined in VS Code.


2 Answers

It has become a built-in feature, separate from the Auto Rename Tag extension. If you don't like it, you can disable it depending on which version you've got installed.


Update for 1.52+

The setting has now been renamed to Linked Editing:

The On Type Rename feature for editing a tag when its matching closing tag is modified is now called linked editing. The command to enable linked editing is Start Linked Editing (⇧⌘F2) and Escape disables linked editing mode.

The setting to enable/disable it is now:

"editor.linkedEditing": true 

Or from the UI:

Settings > Linked Editing


Update for 1.44+

They changed the mirror cursor feature and are now calling it Synced Regions.

enter image description here
(copied from the VS Code 1.44 release notes)

When activated on HTML tags, if both start and end tags become "synced", then changing one also changes the other. The feature is disabled by default though, and either you explicitly execute the On Type Rename Symbol command or set the editor.renameOnType setting to true.

With this change, the html.mirrorCursorOnMatchingTag introduced in 1.41 will now show up as deprecated (or grayed-out).

enter image description here


Update for 1.42+

The html.mirrorCursorOnMatchingTag is now disabled by default starting in 1.42.
See this other answer for the quotation from the release notes.


Original Answer for 1.41

It's now a built-in feature starting 1.41.

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

VS Code now adds a "mirror cursor" when you are editing HTML tags. This behavior is controlled by the setting html.mirrorCursorOnMatchingTag, which is on by default.

This feature works by adding a multi-cursor to the matching tag when your cursor moves into an HTML tag name range. Just like in multi-cursor mode, you can use word-wise deletion or word-wise selection. The mirrored cursor is removed when you move your cursor outside the tag name range.

Basically, selecting either the tag start or the tag end puts 2 cursors on each, so editing one also edits the other. It is enabled by default.

You can explicitly disable it from your settings.

Via UI:

enter image description here

Via settings.json:

"html.mirrorCursorOnMatchingTag": false,
like image 56
Gino Mempin Avatar answered Oct 09 '22 11:10

Gino Mempin


See https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#html-mirror-cursor-off-by-default with v1.42 due out early February, 2020.

HTML Mirror Cursor off by default

We have made Mirror Cursor an opt-in feature. In the upcoming iteration, we'll continue to improve its implementation to make this feature more easily understandable and available to more languages. You can still use this feature by turning on html.mirrorCursorOnMatchingTag.

----- Update March 2020 ----------

The vscode devs have heard you. The mirror cursor functionality is being substantially modified. You can test it in the Insiders' Build now so perhaps it'll get into v1.44 or soon thereafter.

Especially pasting into a tag has been much improved. And no dual cursors. See https://github.com/microsoft/vscode/issues/88424#issuecomment-600840619

And release notes: https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_44.md#synced-regions It is in v1.44.

like image 3
Mark Avatar answered Oct 09 '22 10:10

Mark