190 votes

Comment formater tous les fichiers dans un projet Visual Studio Code?

Y a-t-il un moyen de formater tous les fichiers dans un projet sans formater chacun individuellement?

174voto

Stellan Lindell Points 111

Utilisez l'extension appelée "Format Files". Voici les étapes :

  1. Téléchargez l'extension appelée "Format Files" sur VSCode.
  2. Sélectionnez et ouvrez le dossier contenant les fichiers à formater sur VSCode.
  3. Appuyez sur Ctrl+Shift+P pour ouvrir la palette de commandes.
  4. Entrez "Start Format Files: Workspace" et sélectionnez cette option.

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

0 votes

A atteint environ la moitié, puis a dit "Une erreur s'est produite lors de l'exécution des fichiers de format : Valeur de comptage non valide"

3 votes

Fonctionne comme un charme

6 votes

Cela a provoqué la rupture de tous mes fichiers car cela n'utilise pas prettier. Cela casse le code JSX POUR L'AMOUR DE TOUT CE QUI EST BON, NE JAMAIS FAIRE ÇA! Vous le regretterez.

100voto

Hieu Thai Points 751

Cela fonctionne pour moi

Installer prettier :

npm init
npm i prettier

Ajoutez le script suivant dans package.json :

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

Dans ce cas particulier, je dois formater mes fichiers .js, .jsx et .json.

Exécutez le script :

npm run pretty

16 votes

Probablement vous voulez ajouter "--save-dev" à la commande npm install, vous n'avez pas besoin de cela en tant que dépendance de production

9 votes

En supposant que la question concerne javascript. Je ne vois pas de balises liées à cela.

2 votes

Est-ce que prettier peut formater le code c/c++/c#? Non - vote négatif

51voto

Piyush Balapure Points 61

La solution la plus simple que j'ai trouvée est la suivante.

  • Installez prettier dans vscode.
  • Créez le fichier .prettierrc et configurez-le comme vous le souhaitez.
  • Exécutez la commande suivante dans la console de vscode.

npx prettier --write "**/*.ts" (Ajoutez l'expression régulière du type de fichier selon les besoins)

0 votes

Cela ne fonctionne que pour le code js et rien dans la question ne concerne js, il s'agit de mise en forme en général.

0 votes

Vous pouvez modifier l'expression régulière pour formater les fichiers pris en charge par prettier. Et parce que la question comporte la balise JavaScript, la plupart des réponses incluent js, ts, jsx, etc.

0 votes

La balise Javascript a été ajoutée après, les gens ont simplement supposé que c'était pour Javascript puis un éditeur a ajouté la balise

30voto

David Lacroix Points 92

Je n'ai pas eu de chance en trouvant une extension qui le faisait de la manière dont je m'y attendais, donc j'en ai créé une. Je vous suggère de jeter un œil à l'extension que je viens de créer :

https://marketplace.visualstudio.com/items?itemName=lacroixdavid1.vscode-format-context-menu#overview

Il peut encore y avoir quelques problèmes, n'hésitez pas à les signaler ou à contribuer.

0 votes

MON GARS! Merci pour avoir économisé du temps. Cela fonctionne bien avec HTML.

0 votes

Il s'agit d'un très chouettecool

2 votes

Oui, j'aime ça ! Ça va bien avec c++.

0voto

herrbischoff Points 1674

Il n'y a actuellement aucun moyen de le faire et cela ne semble pas non plus être une fonctionnalité particulièrement utile à avoir. Ou autrement dit: ce serait une fonctionnalité utile si vous pouviez lui faire entièrement confiance, ce qui n'est pas le cas.

Vous devriez avoir une grande confiance dans la logique d'auto-formatage des langages utilisés pour ne pas tout gâcher et potentiellement introduire des erreurs. Vous devriez de toute façon revoir les modifications manuellement, cette approche ne devrait donc pas entraîner de gains de productivité mesurables.

Si vous travaillez avec une base de code sérieusement catastrophique et que vous ne vous souciez pas des problèmes éventuels, je vous recommanderais d'exécuter une commande shell simple avec le formateur en ligne de commande des langages respectifs. Par exemple pour le code C++, en utilisant clang-format:

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

Cette commande trouvera tous les fichiers cpp de manière récursive et les exécutera à travers le formateur avec les réglages par défaut.

Le processus est essentiellement le même pour n'importe quel langage, par exemple JavaScript (avec js-beautify):

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

Assurez-vous simplement de passer en revue tout ce qui en ressort. Il est également tout à fait possible de scripter cette commande dans VScode — ou de l'exécuter simplement dans le terminal intégré.

23 votes

Comment ne serait-ce pas une fonctionnalité utile; si vous modifiez une règle de mise en forme, il est préférable de l'appliquer à tous les fichiers en une seule fois, plutôt que d'avoir des modifications de formatage mélangées avec d'autres modifications de code.

1 votes

C'est plutôt évident : parce que cela peut être dangereux. Toute mise en forme automatique appliquée à l'ensemble des fichiers, en particulier des projets que vous ne connaissez pas intimement, peut causer plus de problèmes qu'elle n'en résout. Pensez simplement aux langages comme Python où l'indentation compte. Le reformatage automatique non vérifié vas causer des problèmes. Vous êtes bien sûr libre de le découvrir par vous-même à vos risques et périls.

3 votes

J'ai fait cela depuis des années avec Intellij et Resharper et je n'ai jamais eu de problème. Pas vraiment de "méthode difficile", si je fais suffisamment confiance au format pour le faire automatiquement pour un fichier, je lui fais confiance pour tous les autres. Je recommande d'opter pour une approche de choix explicite des règles, c'est-à-dire de désactiver les règles par défaut et de les activer progressivement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X