¿Cómo excluir archivos del "formato al guardar" en VSCode?

108

Actualmente, en la configuración de VSCode, puede configurar el formato al guardar de la siguiente manera:

"editor.formatOnSave": true

Quiero excluir algunas extensiones de archivo, por ejemplo, solo formato JavaScript pero no archivos HTML.

GabrielAnzaldo
fuente
En Mac, use Ctrl + K Shift + SEn Linux, useCtrl + K S
Joost van der Laan

Respuestas:

190

Puede usar configuraciones específicas de idioma para habilitarlo solo para un idioma específico, por ejemplo, JavaScript:

"[javascript]": {
    "editor.formatOnSave": true
}

Para deshabilitarlo para un idioma específico, puede cambiar el valor predeterminado global truey combinarlo con un idioma específico false:

"editor.formatOnSave": true
"[javascript]": {
    "editor.formatOnSave": false
}

Tenga en cuenta que la configuración específica del idioma se basa en identificadores de idioma en lugar de directamente en extensiones de archivo. También hay una solicitud de función abierta para permitir configuraciones específicas de extensión de archivo .

En los casos en los que el ID de idioma no sea lo suficientemente específico, "files.associations"podría usarse para reasignar archivos con una extensión específica y / o en un directorio específico a otro ID, pero esto también afectará el resaltado de sintaxis, la finalización del código, etc. Por ejemplo, esto funcionaría para deshabilitar el formato de archivos JavaScript en outdirectorios, pero se tratarán como texto sin formato:

"[javascript]": {
    "editor.formatOnSave": true
},
"files.associations": {
    "**/out/**/*.js": "plaintext"
}
Gama11
fuente
muy buena respuesta. sin embargo, ¿es posible aplicar formato al guardar en un módulo o carpeta de Python específico? ... la solución es que abrí este módulo en sus propias ventanas de vscode.
kerbrose
Una desventaja de configurar, digamos, *.inarchivos como texto sin formato ( "files.associations": { "*.in": "plaintext" }es que deshabilita el resaltado de código. ¿Hay alguna forma de deshabilitar el formato de *.inarchivos, pero decirle que resalte como un idioma determinado?)
Cole Johnson
40

Si se encontró con esta pregunta como lo hice yo porque fue redirigido debido a esta pregunta VSCode: deshabilite el formato de un archivo (o extensión) específico que dice, esto es un duplicado (no lo siento, porque lo quería para un archivo específico) y está buscando una solución "única":

VS Code tiene un atajo "ahora" (no sé desde cuándo) para guardar un archivo sin el formato que aparece en el comando workbench.action.files.saveWithoutFormatting- La combinación de teclas predeterminada debe ser

CTRL + K CTRL + SHIFT + S 

(simplemente mantenga presionada la tecla CTRL y luego escriba K + MAYÚS + S).

En OS X, la combinación de teclas predeterminada es

CMD + k entonces presione s

Александр Фишер
fuente
2
No sabía nada de esto. ¡Gracias! Entonces, puedo tener 'FormatOnSave' habilitado, pero si aún quiero guardar un archivo sin que se formatee, mantengo presionada la tecla Ctrl y luego presiono K + Shift + S. Acabo de intentarlo. ¡Increíble!
abhijit
2
en linux en enero de 2020 es Ctrl + ky luego solos
ryanrain
0

En Mac y Linux, use Ctrl + K S

En Windows, use Ctrl + K Ctrl + Shift + S

Para verificar los atajos de teclado de VS Code: Ctrl + K, Ctrl + S(sí, casi lo mismo que el anterior) y busque "guardar sin formatear"

Joost van der Laan
fuente