207 votes

Existe-t-il un moyen de supprimer les importations et les déclarations inutilisées d'Angular 2+ ?

On m'a confié la tâche de prendre du code défectueux d'autres développeurs qui ont déjà quitté l'entreprise récemment.

Je demande curieusement s'il existe un plug-in de Visual Studio Code ou un autre moyen qui pourrait nous aider à ranger et organiser les importations et les références rapidement et efficacement ?

Par exemple, il y a peut-être des centaines d'importations comme celle-ci

import { AutoCompleteModule,InputSwitchModule } from 'primeng/primeng';
import { ListboxModule } from 'primeng/primeng';

pourrait être converti de façon similaire

import { AutoCompleteModule,
         InputSwitchModule,
         ListboxModule  } from 'primeng/primeng';

Ou d'autres fonctions comme supprimer automatiquement les importations et les déclarations inutilisées du module d'application ou de tous les composants de l'ensemble du projet ?

Merci pour tout commentaire !

0 votes

Je me demande moi aussi si les importations superflues dans des composants spécifiques ne sont pas un frein aux performances.

13 votes

stackoverflow.com/a/49697144/3914072 vscode 1.22 Shift+Alt+O - ça marche pour moi !

0 votes

Peut aussi être fait à partir de la ligne de commande (ou git hook) : npmjs.com/package/organize-imports-cli

333voto

Modifier (comme suggéré dans les commentaires et par d'autres personnes), Visual Studio Code a évolué et fournit cette fonctionnalité intégrée comme la commande "Organiser les importations", avec ce qui suit raccourcis clavier par défaut :

option + Shift + O pour Mac

Alt + Shift + O pour Windows


Réponse originale :

J'espère que cette extension de code Visual Studio répondra à vos besoins : https://marketplace.visualstudio.com/items?itemName=rbbit.typescript-hero

Il offre les fonctionnalités suivantes :

  • Ajouter des importations de votre projet ou de vos bibliothèques à votre fichier actuel
  • Ajouter une importation pour le nom actuel sous le curseur
  • Ajouter toutes les importations manquantes d'un fichier avec une seule commande
  • Intellisense qui suggère des symboles et ajoute automatiquement les importations nécessaires Fonction "ampoule" qui corrige le code que vous avez écrit
  • Trier et organiser vos importations (tri et supprimer l'inutilisé )
  • Visualisation du contour du code de votre document TS / TSX ouvert
  • Tous les trucs cool pour JavaScript aussi ! (stade expérimental cependant, meilleure description ci-dessous).

Pour Mac : control + option + o

Pour gagner : Ctrl + Alt + o

1 votes

Merci de m'avoir fait découvrir cet add-on, il est génial ! Jusqu'à ce que je l'installe, j'avais l'extension Auto-Import installée pour prendre en charge cette petite fonctionnalité (importation automatique). Mais après avoir installé TypeScript Hero... wow, il fait tout ce dont j'ai besoin, y compris trier les dépendances par ordre alphabétique dans les déclarations d'importation elles-mêmes, se débarrasser des importations qui ne sont pas utilisées dans les classes de composants, etc !

2 votes

En 2018, le mainteneur de projet de TS Hero a dit il supprimerait l'extension, car elle est devenue obsolète après l'implémentation des principales fonctionnalités directement dans le code VS (voir autres commentaires).

2 votes

Tout moyen d'appeler Alt+Shift+O sans réorganiser les importations ?

166voto

Aaron Jordan Points 1516

À partir de la version de Visual Studio Code 1.22 ceci est gratuit sans avoir besoin d'une extension.

Shift + Alt + O s'occupera de vous.

1 votes

Joli ! J'utilise ctrl+shift+- depuis toujours et maintenant je peux trouver et changer le raccourci.

0 votes

J'ai dû l'installer, il n'était pas inclus dans mon installation de la 1.37.1.

100voto

JayKan Points 691

Si vous êtes un gros utilisateur de Visual Studio, vous pouvez simplement ouvrir vos paramètres de préférences et ajouter ce qui suit à votre fichier settings.json :

...
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
  "source.organizeImports": true
}
....

J'espère que cela peut être utile !

4 votes

Cela semble entrer en conflit avec le plugin ESLint Prettier. Il essaie de faire une importation d'une seule ligne, mais ESLint essaie d'insérer plusieurs lignes.

0 votes

Même problème que @Richard. Il semble que ce soit un problème ouvert - github.com/prettier/prettier-vscode/issues/716

0 votes

Existe-t-il un moyen de désactiver la suppression des importations inutilisées tout en conservant les importations triées ?

48voto

Matheus Frik Points 447

Pour être en mesure de détecter les importations, le code ou les variables inutilisés, assurez-vous que vous avez ces options dans tsconfig.json fichier

"compilerOptions": {
    "noUnusedLocals": true,
    "noUnusedParameters": true
}

avoir le compilateur typescript installé, sinon l'installer avec :

npm install -g typescript

et le tslint installé dans Vcode, cela a fonctionné pour moi, mais après l'activation, j'ai remarqué une augmentation de l'utilisation du CPU, surtout sur les gros projets.

Je recommande également d'utiliser héros dactylographié pour organiser vos importations.

42voto

kenny Points 399

Depuis VSCode v.1.24 et TypeScript v.2.9 :

Pour Mac : option + Shift + O

Pour gagner : Alt + Shift + O

7 votes

Plus important pour certains, le commandement est Organize Imports o editor.action.organizeImports

1 votes

@pcnate Y a-t-il un moyen de désactiver la suppression des importations inutilisées tout en conservant les importations triées ?

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