Vscode: El formato al guardar (más bonito) dejó de funcionar con la última actualización

Creado en 10 oct. 2020  ·  67Comentarios  ·  Fuente: microsoft/vscode

El formato al guardar (más bonito) dejó de funcionar con la última actualización

Varias veces reinstaló Prettier y verificó la configuración, sucedió justo después de la actualización de VSCode.

https://gyazo.com/f07a3bfd0733edeed2a8d213fc3d21ac

*question formatting

Comentario más útil

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

Todos 67 comentarios

El mismo problema

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

Funcionó para mí, ¡gracias!

Sí, funcionó como formateador predeterminado, pero seguramente no debería tener que configurar el formateador predeterminado para vscode. Debería ser proyecto por proyecto.

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

Esto también funcionó para mí, pero hay algunos escenarios en los que solo quiero más bonito para un proyecto específico y no globalmente 😢

Lo mismo para mí, seleccionar prettier como formateador predeterminado para _VSCode_ funciona, pero esto impide trabajar con otros idiomas . También estoy usando ruby, y tengo el mismo problema con el formateador rubocop : dejó de funcionar a partir de la 1.50.0.
Y no puedo tener 2 formateadores predeterminados diferentes a nivel mundial para VSCode.

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

En caso de que alguien tenga problemas para encontrar la opción @ j-francisco explicada anteriormente:

Archivo -> Preferencias -> Configuración (para Windows)
Código -> Preferencias -> Configuración (para Mac)

Busque "Formateador predeterminado". En el menú desplegable, más bonito se mostrará como esbenp.prettier-vscode .

image

@AlissonRS Gracias

La solución anterior de @ j-francisco y @AlissonRS soluciona el problema más bonito, pero para mí, pero todas las demás configuraciones de idioma también se han estropeado. Para Python, usamos black formateador y ahora eso no funciona porque he seleccionado más bonito como el formateador predeterminado. Si selecciono black como predeterminado, prettier no funcionará en archivos js. Parece que la detección automática de idioma y formateador no funciona. ¿Alguna idea de cómo podría solucionar esto?

Entiendo la frustración de las personas que dependen de esto. Utilizo otras herramientas como Headwind, que ahora no funciona.

Igual que aquí. ¿Es un cambio radical de VS Code o es más bonito que cambió su espacio de nombres / nombre de código?

Lo arreglé y ahora se rompió nuevamente por sí solo, esto no tiene ningún efecto https://github.com/microsoft/vscode/issues/108447#issuecomment -707236252 Editar Se corrigió nuevamente buscando directamente Formato en Guardar y activarlo.

Entonces, ¿cuál es el problema aquí? ¿Es que la configuración ( editor.defaultFormatter ) ya no está viva? ¿O es que la configuración para formatear al guardar (que está desactivada de manera predeterminada) ( editor.formatOnSave ) no está configurada?

@jrieken no está relacionado con editor.formatOnSave , el problema es que más bonito dejó de funcionar, incluso el formateo manual (SHIFT + ALT + F) no funcionaba, y funcionó de nuevo después de configurar editor.defaultFormatter en más bonito. Lo que no me queda claro es si el nuevo Código VS simplemente se eliminó accidentalmente editor.defaultFormatter (se actualizó a nulo), o si editor.defaultFormatter siempre ha sido nulo pero las versiones anteriores del Código VS pudieron manejarlo correctamente y aún hacer un trabajo más bonito.

Lo que no me queda claro es si el nuevo VS Code simplemente eliminó accidentalmente editor.defaultFormatter (lo actualizó a nulo), o si editor.defaultFormatter siempre ha sido nulo, pero las versiones anteriores de VS Code pudieron manejarlo correctamente y aún así hacer un trabajo más bonito.

Sí, esa es la pregunta. Fuera de la caja, editor.defaultFormatter es null . Además, tenga en cuenta que la configuración se puede configurar por idioma, algo que la interfaz de usuario no admite y que necesita el editor basado en JSON

Entonces, ¿cuál es el problema aquí? ¿Es que la configuración ( editor.defaultFormatter ) ya no está viva? ¿O es que la configuración para formatear al guardar (que está desactivada de manera predeterminada) ( editor.formatOnSave ) no está configurada?

Tanto en mi caso, primero el editor.defaultFormatte fue nulo, después de que lo arreglé un día después, ( editor.formatOnSave ) ya no estaba activo.

@ivanjeremic ¿Utiliza la sincronización de configuración?

@ivanjeremic ¿Utiliza la sincronización de configuración?

Sí.

No sincronizo ninguna configuración y sí, mi editor.defaultFormatter era null lugar de esbenp.prettier-vscode . Quizás cambiaron su nombre en clave.

De todos modos, aquí, desde que configuré el formateador correcto, estoy bien. 👍🏻

Estoy experimentando el mismo comportamiento que @nicolasrouanne . Si configuro más bonito como formateador en la configuración del usuario, entonces solo funciona. Si lo configuro solo en la configuración del espacio de trabajo para mi proyecto de TS, no funciona. Esto no es ideal para personas que trabajan en idiomas distintos a TS / JS.

@ ap00rv Lo he intentado y no puedo reproducirlo. He instalado y configurado más bonito para ser el formateador predeterminado para archivos mecanografiados y el formato al guardar funciona para mí.

{
    "editor.formatOnSave": true,
    "[typescript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    }
}

¿Puedes (o alguien) compartir conmigo pasos reproducibles?

Hola @jrieken , ¿puedes intentar usar la configuración anterior solo en el nivel del espacio de trabajo (el formateador predeterminado en la configuración del usuario debe ser nulo) y luego ver qué sucede?

Sí, eso es lo que tengo.

ok, mis disculpas. Se está trabajando para mí después de establecer el siguiente espacio de trabajo en la configuración única. Lo siento por la molestia.

"editor.codeActionsOnSave": {
      // For ESLint
      "source.fixAll.eslint": true
    },
    "[typescript]": {
      "editor.defaultFormatter": "esbenp.prettier-vscode"
    },

Todos mis compañeros de trabajo y yo estamos en VS Code 1.50.1 y la extensión Prettier 5.7.1 , pero algunos están viendo el problema y otros no, así que hay algo más en juego aquí.

@dlsso para aquellos de sus colegas que enfrentan problemas, es posible que desee verificar si la configuración predeterminada del formateador en el espacio de trabajo se está anulando en otro lugar. Eso es lo que pasó en mi caso. ESlint linting debe configurarse usando una opción diferente como se indica aquí

Buen pensamiento, pero no estoy usando ningún complemento de linter, así que no creo que pueda ser así. La configuración predeterminada como sugirió AllisionRS funcionó para nosotros, por lo que no es el fin del mundo. Sin embargo, todavía tengo curiosidad por saber qué lo causó.

Presenté un problema similar para la extensión de embellecimiento: https://github.com/microsoft/vscode/issues/108878

Siguiendo el método aquí y configurándolo como solución predeterminada para mí en vscode 1.50.1

También estoy viendo el mismo problema. Sin embargo, configurar el formateador predeterminado a nivel de usuario o de espacio de trabajo no resuelve el problema. El formato al guardar todavía está habilitado tanto a nivel de usuario como de espacio de trabajo.

Tuve el mismo problema. He estado buscando periódicamente (durante la última semana más o menos) aquí y allá para tratar de averiguar por qué más bonita dejó de funcionar. Hoy mismo encontré este problema y pude resolverlo siguiendo las sugerencias en este hilo anterior.

1) Abrí la configuración y busqué "formateador predeterminado". Noté que "Editor: Default Formatter" se estableció en nulo y que no tenía la opción de más bonito en el menú desplegable.
2) Abrí la configuración de Json haciendo clic en el icono en la esquina superior derecha de la misma pantalla de configuración:
image

3) Agregué las siguientes líneas a mi configuración json:

    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },

Tomé esas líneas de esta página: https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

En caso de que alguien tenga problemas para encontrar la opción @ j-francisco explicada anteriormente:

Archivo -> Preferencias -> Configuración (para Windows)
Código -> Preferencias -> Configuración (para Mac)

Busque "Formateador predeterminado". En el menú desplegable, más bonito se mostrará como esbenp.prettier-vscode .

image

este lo hizo para mi!

Creo que lo único que necesita investigación aquí es si la preferencia predeterminada de VSCode de la configuración del espacio de trabajo sobre la configuración del usuario está funcionando correctamente como se menciona aquí .

La configuración del espacio de trabajo anula la configuración del usuario.

cc @jrieken

Proporcionaré más información.
Vetur tiene un problema sobre el formato automático que no funciona. https://github.com/vuejs/vetur/issues/2388
Pero si va a la configuración y enciende y apaga el formato, funcionará.

En vetur, registraremos DocumentFormattingRequest en LSP cuando cambie la configuración.
https://github.com/vuejs/vetur/blob/master/server/src/services/vls.ts#L142
También hay un comentario que dice que el servidor LSP se activará una vez cuando se inicie.

Resulta que esto es por arreglar https://github.com/microsoft/vscode/issues/106376. Antes de ese cambio, VS Code elegiría un formateador aleatorio (durante el formateo al guardar) cuando tuviera varios formateadores y no tuviera un formateador predeterminado. Entiendo lo desagradable que es esto, pero no lo llamaría una regresión, ya que antes las cosas funcionaban solo por casualidad.

Configurar el formateador predeterminado

Como ya se sugirió, lo correcto es configurar el formateador predeterminado, mejor por idioma. El siguiente fragmento configura más bonito ( esbenp.prettier-vscode ) como formateador predeterminado para javascript

"[javascript]": {
     "editor.defaultFormatter": "esbenp.prettier-vscode"
}
¿Por qué no mostrar la notificación?

De hecho, mostramos una notificación, pero solo cuando se activó el guardado explícitamente, por ejemplo, a través de las acciones "Dar formato a documento / selección". El formato al guardar es diferente, ya que el guardado no siempre debe ocurrir a partir de un gesto del usuario; por ejemplo, se puede usar "guardar después de retraso" o "guardar al enfocar". Las notificaciones en tales casos son desagradables porque no se explican bien.

Cambiar el formateador predeterminado no funcionó para mí, pero encontré una solución.

Abra cualquier archivo, haga clic con el botón derecho y seleccione Dar formato a documento. Es probable que aparezca una ventana emergente de error diciendo que no se configuró un formateador o que no se pudo encontrar el formateador. Haga clic en la ventana emergente y seleccione más bonito como formateador.

Después de hacer lo anterior, el formato al guardar ahora funciona en todos los archivos para mí.

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

Esto funcionó para mí, ¡muchas gracias!

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

En caso de que alguien tenga problemas para encontrar la opción @ j-francisco explicada anteriormente:

Archivo -> Preferencias -> Configuración (para Windows)
Código -> Preferencias -> Configuración (para Mac)

Busque "Formateador predeterminado". En el menú desplegable, más bonito se mostrará como esbenp.prettier-vscode .

image

arregla para mí, gracias!

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

Lo mismo para mi hermano gracias de todos modos por la idea

La solución anterior de @ j-francisco y @AlissonRS soluciona el problema más bonito, pero para mí, pero todas las demás configuraciones de idioma también se han estropeado. Para Python, usamos black formateador y ahora eso no funciona porque he seleccionado más bonito como el formateador predeterminado. Si selecciono black como predeterminado, prettier no funcionará en archivos js. Parece que la detección automática de idioma y formateador no funciona. ¿Alguna idea de cómo podría solucionar esto?

@iNishant , ¿solo debe configurar el formateador predeterminado para el espacio de trabajo, y no el usuario?

Screen Shot 2020-10-24 at 10 40 26 AM

Screen Shot 2020-10-24 at 10 43 37 AM

para aquellos que tienen problemas con el formato después de configurar más bonito como predeterminado, puede cambiar la forma en que los formatos más bonitos
su código base en el idioma. Ahora tengo JS, pero si estoy trabajando en reaccionar, puedo cambiarlo y no hay problema. ¡Salud!

Estaba jugando con el mismo problema. Antes de intentar establecer más bonito como el formateador predeterminado a nivel mundial, o jugar con la configuración de las cosas, pensé en intentar desinstalar la extensión más bonita y volver a instalarla (lo bueno es que lo apague y vuelva a encender). Esto funcionó para mí. Sugeriría probar eso primero, ya que podría restablecer alguna configuración o algo 🤷‍♂️

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

Muchas gracias <3

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

funciona para mi tambien, gracias

Enfrenté el mismo problema, intenté establecer el formateador predeterminado en la configuración sin resultado, debe editar el archivo de configuración como JSON.

Acabo de agregar lo que algunos mencionaron antes:

"[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },

¡Gracias a todos por su ayuda!

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

Trabajó para mi

Formateador predeterminado

Establecerlo en null ? No me funciona. ¡Otras soluciones por favor!

Formateador predeterminado

Establecerlo en null ? No me funciona. ¡Otras soluciones por favor!

Hola krittiyaclark, intenta editar directamente la configuración como JSON

Resulta que esto es por arreglar # 106376. Antes de ese cambio, VS Code elegiría un formateador aleatorio (durante el formateo al guardar) cuando tuviera varios formateadores y no tuviera un formateador predeterminado. Entiendo lo desagradable que es esto, pero no lo llamaría una regresión, ya que antes las cosas funcionaban solo por casualidad.

Configurar el formateador predeterminado

Como ya se sugirió, lo correcto es configurar el formateador predeterminado, mejor por idioma. El siguiente fragmento configura más bonito ( esbenp.prettier-vscode ) como formateador predeterminado para javascript

"[javascript]": {
     "editor.defaultFormatter": "esbenp.prettier-vscode"
}
¿Por qué no mostrar la notificación?

De hecho, mostramos una notificación, pero solo cuando se activó el guardado explícitamente, por ejemplo, a través de las acciones "Dar formato a documento / selección". El formato al guardar es diferente, ya que el guardado no siempre debe ocurrir a partir de un gesto del usuario; por ejemplo, se puede usar "guardar después de retraso" o "guardar al enfocar". Las notificaciones en tales casos son desagradables porque no se explican bien.

Esta solución me está funcionando. ¡Gracias!

https://github.com/microsoft/vscode/issues/108447#issuecomment -707236252

El miércoles 28 de octubre de 2020 a las 21:23 Carlos Villarroel [email protected]
escribió:

Formateador predeterminado

¿Establecerlo en nulo? No me funciona. ¡Otras soluciones por favor!

Hola krittiyaclark, intenta editar directamente la configuración como JSON

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/microsoft/vscode/issues/108447#issuecomment-718028524 ,
o darse de baja
https://github.com/notifications/unsubscribe-auth/ALRSB3I7TAV33P2JBZDLNK3SNA475ANCNFSM4SLAZZCQ
.

-
Saludos,
Swati Shreya

Probé todas las configuraciones anteriores en el usuario y el espacio de trabajo y todavía no formateo al guardar. Tienes que seleccionar manualmente más bonito para formatear.

Intente buscar en la configuración "formato al guardar". Hay una casilla de verificación para eso.
Si no está marcado, no se formateará al guardar.

El miércoles 28 de octubre de 2020 a las 1:16 p.m. Gopinath Prasanna [email protected]
escribió:

Probé todas las configuraciones anteriores en el usuario y el espacio de trabajo y todavía no
formatear al guardar. Tienes que seleccionar manualmente más bonito para formatear.

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/microsoft/vscode/issues/108447#issuecomment-718152465 ,
o darse de baja
https://github.com/notifications/unsubscribe-auth/ANYV5RK6Z3SVWNXBBUI7DWLSNBUZZANCNFSM4SLAZZCQ
.

Pasé bastante tiempo investigando, y para mí el problema es que tengo el editor.formatOnSaveMode configurado en modifications (nueva característica recientemente lanzada), terminé teniendo que restablecer a file nuevo.

  "editor.formatOnSave": true,
  "editor.formatOnSaveMode": "file"

Pasé bastante tiempo investigando, y para mí el problema es que tengo el editor.formatOnSaveMode configurado en modifications (nueva característica recientemente lanzada), terminé teniendo que restablecer a file nuevo.

  "editor.formatOnSave": true,
  "editor.formatOnSaveMode": "file"

Creo que esta es la mejor respuesta

Pasé bastante tiempo investigando, y para mí el problema es que tengo el editor.formatOnSaveMode configurado en modifications (nueva característica recientemente lanzada), terminé teniendo que restablecer a file nuevo.

  "editor.formatOnSave": true,
  "editor.formatOnSaveMode": "file"

Esto funcionó para mí. Muchas gracias! 🎉

¡Hola! ¡Asegúrese de que su código no contenga errores de sintaxis!

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

¡Esto funcionó! Muchas gracias!

¿Cómo arreglar esto?

¿Esta extensión es compatible con el modo modifications ?

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

En caso de que alguien tenga problemas para encontrar la opción @ j-francisco explicada anteriormente:

Archivo -> Preferencias -> Configuración (para Windows)
Código -> Preferencias -> Configuración (para Mac)

Busque "Formateador predeterminado". En el menú desplegable, más bonito se mostrará como esbenp.prettier-vscode .

image

¡¡¡Un salvavidas !!!

Cerrando esto como pregunta - que la comunidad respondió rápida y correctamente 👏 La conclusión es que se debe seleccionar un formateador predeterminado cuando hay varios formateadores disponibles.

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

¡Increíble! ¡Trabajó para mi!

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

¡Gracias, trabajó para mí!

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

¡¡Gracias!! Cuando más guapa comenzó a trabajar de nuevo, sentí que podía respirar de nuevo 😂

Gracias por la configuración, funcionó para mí.

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

@ j-francisco vino en embrague, gracias

Lo mismo me pasó ahora mismo. Configuré más bonito como el formateador predeterminado en Configuración y comenzó a funcionar nuevamente. Mi formateador predeterminado era nulo.

funcionó como un guante, gracias

Coloque estos campos en settings.json

"editor.defaultFormatter": "esbenp.prettier-vscode","[javascript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"}

¿Fue útil esta página
0 / 5 - 0 calificaciones