Как отключить функцию автоматического переименования тегов VS Code / зеркала HTML?

18

Я хотел иметь возможность легко редактировать теги HTML вместе. Мне показалось, что это очень легко реализовать в настоящее время, поэтому я установил это расширение с автоматическим переименованием тегов , и оно оказалось для меня бесполезным: вместо того, чтобы помогать мне в редактировании кода html / jsx, это ломает все, и я должен отменить то, что он делает, и попытаться отредактировать вещь, чтобы избежать ее запуска.

Здесь логично было бы удалить это расширение из моей системы. Единственная проблема здесь, однако, заключается в том, что я не могу этого сделать - я удалил его, даже переустановил VS Code, попробовал VS Code Insiders, но здесь он все еще включен:

в действии

Это встроенный сейчас? Как мне это отключить?

Версия VSCode: 1.41.0, коммит 9579eda04fdb3a9bba2750f15193e5fafe16b959

dmitryguzeev
источник
Теги HTML Rename - это функция, отличная от зеркального курсора, см. Stackoverflow.com/questions/36628833/…
Марк
Да, HTML Rename - это другая функция. Но HTML Mirror Cursor похож на функциональность, предоставляемую расширением Auto Rename Tag , которое редактирует начальные и конечные HTML-теги, если на них навести курсор.
Джино Мемпин

Ответы:

29

Оригинальный ответ для 1,41

Теперь это встроенная функция, начиная с 1.41.

Зеркальный курсор HTML
https://code.visualstudio.com/updates/v1_41#_html-mirror-cursor

VS Code теперь добавляет «зеркальный курсор» при редактировании тегов HTML. Это поведение контролируется настройкой html.mirrorCursorOnMatchingTag, которая включена по умолчанию.

Эта функция работает путем добавления мульти-курсора к соответствующему тегу, когда курсор перемещается в диапазон имен тегов HTML. Как и в режиме с несколькими курсорами, вы можете использовать пословное удаление или пословный выбор. Зеркальный курсор удаляется, когда вы перемещаете курсор за пределы диапазона имен тегов.

По сути, выбор либо начала тега, либо конца тега помещает 2 курсора в каждый, поэтому редактирование одного также редактирует другой. Это включено по умолчанию.

Вы можете явно отключить его в настройках.

Через пользовательский интерфейс:

введите описание изображения здесь

Через settings.json:

"html.mirrorCursorOnMatchingTag": false,

Обновление для 1.42

По html.mirrorCursorOnMatchingTagумолчанию теперь отключено, начиная с 1.42 .
Смотрите этот другой ответ для цитаты из заметок о выпуске.


Обновление для 1.44

Они изменили функцию зеркального курсора и теперь называют ее синхронизированными регионами .

введите описание изображения здесь
(скопировано из заметок о выпуске VS Code 1.44)

При активации тегов HTML, если и начальный, и конечный теги становятся «синхронизированными», то изменение одного также приводит к изменению другого. Эта функция по умолчанию отключена, и вы либо явно выполняете команду On Type Rename Symbol, либо устанавливаете editor.renameOnTypeзначение true.

С этим изменением, html.mirrorCursorOnMatchingTagтеперь будет отображаться как устаревший (или недоступный).

введите описание изображения здесь

Джино Мемпин
источник
13
Я обнаружил, что эта функция очень глючит и искажает HTML при операциях копирования / вставки. Я оставляю этот комментарий здесь, потому что разработчики кода мешают создавать проблемы на своем сайте :( PS Кажется, html.mirrorCursorOnMatchingTag = false помогает
KoViMa
7
Эта функция невероятно глючит, произвольно изменяя содержимое в других тегах и удаляя большие фрагменты содержимого при редактировании атрибутов тега. Он никогда не должен был выходить в этом состоянии. Подобные вещи рискуют испортить хороший редактор, когда они начинают раздувать его с недоделанными и плохо проверенными функциями, когда раньше он работал нормально.
Гаррет Уилсон
5
Я согласен с KoViMa и @Garret Wilson, что реализация этой функции по умолчанию ставит под сомнение мнение команды разработчиков кода. Выразитесь в этом в этой теме,
посвященной
1
@ VanAlbert, спасибо; Я прокомментировал проблему.
Гаррет Уилсон
1

См. Https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#html-mirror-cursor-off-by-default, версия v1.42 выйдет в начале февраля 2020 года.

HTML Mirror Cursor выключен по умолчанию

Мы сделали Mirror Cursor опциональной функцией. В следующей итерации мы продолжим улучшать ее реализацию, чтобы сделать эту функцию более понятной и доступной для большего количества языков. Вы все еще можете использовать эту функцию, включив html.mirrorCursorOnMatchingTag.

----- Обновление март 2020 ----------

Разработчики vscode слышали вас. Функциональность зеркального курсора существенно изменяется. Вы можете проверить это в Инсайдерах 'Build сейчас, так что, возможно, он войдет в v1.44 или вскоре после этого.

Особенно было значительно улучшено вставление в тег. И нет двойных курсоров. См. Https://github.com/microsoft/vscode/issues/88424#issuecomment-600840619.

И заметки о выпуске: https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_44.md#synced-regions Это в v1.44.

отметка
источник