¿Cómo formateo todos los archivos en un proyecto de Visual Studio Code?

Respuestas:

77

Puede utilizar una extensión llamada "Archivos de formato".

”Uso: Abra la paleta de comandos (Ctrl + Shift + P) e ingrese" Archivos de formato ". Cree una combinación de teclas para el comando 'editor.action.formatFiles'. Haga clic con el botón derecho en una carpeta del espacio de trabajo y seleccione 'Formatear archivos' para formatear todos los archivos del directorio ".

Fuente: https://marketplace.visualstudio.com/items?itemName=jbockle.jbockle-format-files

Stellan Lindell
fuente
Llegué a la mitad y luego dije " An error occurred while running Format Files: Invalid count value"
Aaron Franke
Funciona como el encanto
Dheeraj M Pai
Esto causó que todos mis archivos se rompieran porque no se usa más bonito. Rompe el código JSX POR FAVOR, POR EL AMOR DE TODO LO QUE ES BUENO, ¡NUNCA HAGA ESTO! Te arepentirás.
jake_314 hace
34

Esto funciona para mi

Instalar más bonito:

npm init 
npm i prettier

Agregue el siguiente script en package.json:

"pretty": "prettier --write \"./**/*.{js,jsx,json}\"" 

Solo en este caso, necesito formatear mis archivos .js .jsx y .json.

Ejecutar guión:

npm run pretty
Hiếu Thái Ngọc
fuente
3
Probablemente quiera agregar "--save-dev" al comando npm install, no lo necesite como una dependencia de producción
reggaeguitar
3
Lo que implica que la pregunta es sobre javascript. No veo etiquetas relacionadas con él.
Emobe
2
¿Puede un formato más bonito c/ c++/ c#código? No - voto negativo
Herrgott
También puede usar eslint --fixsi usa tanto eslint como más bonito.
BeyondTheSea
4

La solución más simple que he encontrado es la siguiente.

  • Instale más bonito en vscode.
  • Cree el archivo .prettierrc y configúrelo como desee.
  • Ejecute el siguiente comando en la consola vscode.

npx prettier --write "**/*.ts" (Agregue el tipo de archivo regex según la necesidad)

Piyush Balapure
fuente
1

Como dijo @herrbischoff, actualmente no hay forma de formatear todos los archivos en un proyecto.
Sin embargo, sería una característica útil.

Lo que puede hacer es formatear todos los archivos no guardados activando el guardado automático y el formato automático.

De lo contrario, necesitaría un script de shell o una extensión o algún otro programa externo (como un verificador tslint que puede corregir automáticamente los errores) que sea capaz de hacer esto.

Tuve problemas con esto yo mismo y apesta abrir todos los archivos a mano


fuente
0

Actualmente no hay forma de hacerlo ni parece una característica particularmente útil. O dicho de otra manera: sería una característica útil si pudieras confiar completamente en ella, lo cual no puedes.

Tendría que poner mucha fe en la lógica del formato automático de los idiomas utilizados para no estropear y posiblemente introducir errores. Debería revisar los cambios manualmente de todos modos, por lo que este enfoque no debería generar ganancias de productividad medibles.

Si está trabajando con una base de código seriamente alterada y no le importan los posibles problemas, le sugiero que ejecute un comando de shell simple con el formateador CLI de los respectivos idiomas. Ejemplo de código C ++, usando formato clang :

find . -iname *.cpp -exec clang-format {} +

Este comando encontrará todos los archivos cpp de forma recursiva y los ejecutará a través del formateador con la configuración predeterminada.

El proceso es esencialmente el mismo para cualquier idioma, por ejemplo JavaScript (con js-beautify ):

find . -iname *.js -exec js-beautify {} +

Solo asegúrate de revisar todo lo que salga. Además, es muy posible que se pueda escribir este comando en VScode, o simplemente ejecutarlo en el terminal integrado.

Herrbischoff
fuente
18
¿Cómo no sería una característica útil? Si cambia una regla de formato, es mejor aplicarla a todos los archivos de una vez, en lugar de que los cambios de formato se mezclen con otros cambios de código.
slikts
1
Es bastante obvio: porque puede ser peligroso. Cada formateo automático aplicado a todos los archivos, especialmente los proyectos que no conoce íntimamente, puede romper más de lo que corrige. Solo piense en lenguajes como Python donde la sangría es importante. Sistema de conversión automática sin control va a romper cosas. Por supuesto, eres libre de averiguarlo por tu cuenta de la manera más difícil.
herrbischoff
1
He estado haciendo esto durante años con Intellij y Resharper y nunca he tenido ningún problema. Realmente no hay "manera difícil", si confío lo suficiente en el formato para hacerlo automáticamente para un archivo, confío lo suficiente para todos los demás. Recomiendo un enfoque de elegir explícitamente las reglas de IE para desactivar las reglas predeterminadas y activarlas lentamente.
Fortytwo
3
Según este argumento, formatear un archivo completo sería demasiado peligroso. Solo debería poder formatear un bloque. Si un archivo completo está bien, ¿qué pasa si selecciono DOS archivos en el mismo directorio? Si está bien, ¿qué pasa si selecciono un directorio? Hay muchos casos de uso (por ejemplo, @slikts) donde esto tiene perfecto sentido, y muchos entornos (incluido Python) donde los reformateadores / embellecedores / estandarizadores de código funcionan bien.
Marvin
2
Esta parece una respuesta bastante obstinada. No es raro encontrar una base de código (que no sea Python) con un montón de errores de indentación. La acción predeterminada es formatear el archivo usando las reglas actuales, asegurarse de que el proyecto se compile, pasar las pruebas y luego revisar su archivo en git (posiblemente ignorando los espacios en blanco). Me suscribiría a un método que me permita hacer esto con un proyecto en lugar de archivos individuales.
lorengphd