Як відключити функцію автоматичного перейменування тегів / дзеркального коду VS Code?


18

Мені хотілося легко редагувати теги HTML разом. Мені здалося, що це так просто зараз реалізувати, тому я встановив це розширення для автоматичного перейменування тегів , і воно виявилося для мене не корисним: замість того, щоб допомагати мені в редагуванні коду html / jsx, це все порушує, і я повинен скасувати те, що він робить, і спробувати відредагувати річ, щоб не викликати її.

Логічним тут, очевидно, було б видалити це розширення з моєї системи. Єдиною проблемою тут є те, що я не можу цього зробити - я видалив її, навіть перевстановив код VS, спробував інсайдери коду VS, але ось він все ще включений:

в дії

Це вбудований зараз? Як його відключити?

Версія VSCode: 1.41.0, виконувати 9579eda04fdb3a9bba2750f15193e5fafe16b959


HTML Перейменувати теги - це відрізняється від дзеркального курсору, див. Stackoverflow.com/questions/36628833/…
Марк

Так, перейменування HTML - це інша функція. Але курсор HTML дзеркала схожий на функціонал, що надається розширенням тегу автоматичного перейменування , яке редагує як початкові, так і кінцеві теги HTML, якщо ви розміщуєте на них курсор.
Джино Мемпін

Відповіді:


29

Оригінальна відповідь за 1,41

Зараз це вбудована функція, починаючи з 1,41.

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

Код VS додає "дзеркальний курсор" під час редагування тегів HTML. Таку поведінку контролює налаштування html.mirrorCursorOnMatchingTag, яке увімкнено за замовчуванням.

Ця функція працює, додаючи декілька курсорів до відповідного тегу, коли курсор переміщується в діапазон імен тегів HTML. Так само, як і в режимі з декількома курсорами, ви можете скористатися вилученням у слові або виділенням слова. Дзеркальний курсор видаляється при переміщенні курсору поза діапазоном імен тегів.

В основному, вибір або початку тегу, або кінця тегу ставить по 2 курсору на кожен, тому редагування одного також редагує інший. Він включений за замовчуванням.

Ви можете явно відключити його зі своїх налаштувань.

Через інтерфейс користувача:

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

Через налаштування.json:

"html.mirrorCursorOnMatchingTag": false,

Оновлення на 1,42

html.mirrorCursorOnMatchingTagВідключений за замовчуванням , починаючи з 1.42 .
Дивіться цю іншу відповідь для цитати з приміток до випуску.


Оновлення для 1,44

Вони змінили функцію дзеркального курсору і тепер називають її " Синхронізовані регіони" .

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

Якщо активовано теги HTML, якщо і початкові, і кінцеві теги стають "синхронізованими", зміна одного також змінює інше. Ця функція відключена за замовчуванням, і ви явно виконуєте команду On Type Rename Symbol або встановлюєте значення editor.renameOnTypetrue.

З цією зміною html.mirrorCursorOnMatchingTagзаповіт тепер відображатиметься як застарілий (або сірий).

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


13
Я виявив, що ця функція є дуже глючною і пошкодженою HTML при операціях копіювання / вставки. Я залишаю цей коментар тут, оскільки розробники коду перешкоджають створювати проблеми на своєму сайті :( PS Здається, html.mirrorCursorOnMatchingTag = хибна допомога
KoViMa

7
Ця функція неймовірно помилкова, довільно змінюючи вміст в інших тегах та видаляючи великі фрагменти вмісту, коли я редагую атрибути тегів. У такому стані воно ніколи не повинно було виходити. Такі речі ризикують зірвати хорошого редактора, коли вони починають роздувати його наполовину випеченими та погано перевіреними функціями, коли він працював нормально раніше.
Гаррет Вілсон

5
Я погоджуюся з KoViMa та @Garret Wilson, що реалізація цієї функції за замовчуванням ставить під сумнів судження команди Code Code Dev. Переконайтеся в цьому у цій потоці моніторингу MS: github.com/microsoft/vscode/isissue/87737
VanAlbert

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 функцією вибору. У майбутній ітерації ми продовжуватимемо вдосконалювати її реалізацію, щоб зробити цю функцію більш зрозумілою та доступною для більшості мов. Ви все одно можете використовувати цю функцію, увімкнувши її html.mirrorCursorOnMatchingTag.

----- Оновлення березня 2020 ----------

Диски vscode почули вас. Функціональність дзеркального курсору істотно змінюється. Ви можете протестувати його в «Інсайдерській збірці» зараз, так що, можливо, він потрапить у версію 1.4.4 або незабаром після цього.

Особливо вставки в тег значно покращилися. І жодних подвійних курсорів. Дивіться https://github.com/microsoft/vscode/isissue/88424#issuecomment-600840619

І примітки до випуску: https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_44.md#synced-regions Це в v1.44.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.