¿Cómo deshabilitar la función de duplicación automática de etiquetas VS Code / código HTML?

18

Quería poder editar fácilmente etiquetas HTML juntas. Me pareció que esto es algo tan fácil de implementar hoy en día, así que instalé esta extensión de cambio de nombre automático y resultó que no me fue útil: en lugar de ayudarme en la edición de código html / jsx, rompe todo y tengo que deshacer lo que hace e intentar editarlo para evitar activarlo.

Lo lógico aquí obviamente sería eliminar esta extensión de mi sistema. Sin embargo, el único problema aquí es que parece que no puedo hacer eso: lo desinstalé, incluso reinstalé VS Code, probé VS Code Insiders, pero aquí está, todavía habilitado:

en acción

¿Está incorporado ahora? ¿Cómo lo desactivo?

Versión VSCode: 1.41.0, commit 9579eda04fdb3a9bba2750f15193e5fafe16b959

dmitryguzeev
fuente
HTML Rename tags es una característica diferente del cursor espejo, consulte stackoverflow.com/questions/36628833/…
Marque el
Sí, el cambio de nombre HTML es una característica diferente. Pero el Cursor de espejo HTML es similar a la funcionalidad proporcionada por la extensión de Etiqueta de cambio de nombre automático , que edita las etiquetas HTML de inicio y fin si coloca el cursor sobre ellas.
Gino Mempin

Respuestas:

29

Respuesta original para 1.41

Ahora es una característica incorporada a partir de 1.41.

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

VS Code ahora agrega un "cursor de espejo" cuando edita etiquetas HTML. Este comportamiento está controlado por la configuración html.mirrorCursorOnMatchingTag, que está activada de forma predeterminada.

Esta característica funciona al agregar un cursor múltiple a la etiqueta correspondiente cuando el cursor se mueve a un rango de nombre de etiqueta HTML. Al igual que en el modo de cursor múltiple, puede usar la eliminación por palabras o la selección por palabras. El cursor reflejado se elimina cuando mueve el cursor fuera del rango del nombre de la etiqueta.

Básicamente, al seleccionar el inicio de la etiqueta o el final de la etiqueta, se colocan 2 cursores en cada uno, por lo que editar uno también edita al otro. Está habilitado por defecto.

Puede deshabilitarlo explícitamente desde su configuración.

Vía UI:

ingrese la descripción de la imagen aquí

A través de settings.json:

"html.mirrorCursorOnMatchingTag": false,

Actualización para 1.42

El html.mirrorCursorOnMatchingTagahora está desactivado por defecto a partir de 1,42 .
Vea esta otra respuesta para la cita de las notas de la versión.


Actualización para 1.44

Cambiaron la función del cursor espejo y ahora lo llaman Regiones sincronizadas .

ingrese la descripción de la imagen aquí
(copiado de las notas de la versión VS Code 1.44)

Cuando se activa en las etiquetas HTML, si las etiquetas de inicio y fin se "sincronizan", al cambiar una también cambia la otra. Sin embargo, la función está deshabilitada de manera predeterminada y usted ejecuta explícitamente el comando On Type Rename Symbol o establece la editor.renameOnTypeconfiguración en true.

Con este cambio, html.mirrorCursorOnMatchingTagahora aparecerá como obsoleto (o atenuado).

ingrese la descripción de la imagen aquí

Gino Mempin
fuente
13
Encontré que esta función tiene HTML muy defectuoso y corrupto en las operaciones de copiar / pegar. Dejo este comentario aquí porque los desarrolladores de Código evitan crear Problemas en su sitio :( PS Parece que html.mirrorCursorOnMatchingTag = false ayuda
KoViMa
77
Esta característica es increíblemente defectuosa, cambia arbitrariamente el contenido en otras etiquetas y elimina grandes extensiones de contenido cuando edito los atributos de la etiqueta. Nunca debería haber salido en este estado. Cosas como esta corren el riesgo de arruinar a un buen editor, cuando comienzan a hincharlo con características a medias y mal probadas cuando funcionaba bien antes.
Garret Wilson
55
Estoy de acuerdo con KoViMa y @Garret Wilson en que la implementación de esta función por defecto pone en duda el juicio del equipo de desarrollo de Code. Exprésate en este hilo monitoreado por MS: github.com/microsoft/vscode/issues/87737
VanAlbert
1
@VanAlbert, gracias; He comentado sobre el tema.
Garret Wilson
1

Consulte https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#html-mirror-cursor-off-by-default con v1.42 que saldrá a principios de febrero de 2020.

Cursor de espejo HTML desactivado por defecto

Hemos hecho que Mirror Cursor sea una característica opcional. En la próxima iteración, continuaremos mejorando su implementación para que esta característica sea más fácil de entender y esté disponible para más idiomas. Todavía puede usar esta función activando html.mirrorCursorOnMatchingTag.

----- Actualización de marzo de 2020 ----------

Los desarrolladores de vscode te han escuchado. La funcionalidad del cursor espejo se está modificando sustancialmente. Puede probarlo en Insiders 'Build ahora, por lo que tal vez entrará en v1.44 o poco después.

Especialmente pegar en una etiqueta se ha mejorado mucho. Y no hay cursores duales. Ver https://github.com/microsoft/vscode/issues/88424#issuecomment-600840619

Y notas de la versión: https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_44.md#synced-regions Está en v1.44.

marca
fuente