3 votes

Quel est l'état de l'art de la configuration préférée pour vim et TypeScript ?

La solution la moins pénible que j'ai trouvée après de nombreux essais et erreurs est d'utiliser ces plugins :

  • galooshi/vim-import-js (ajoute automatiquement les instructions d'importation lors de l'utilisation d'une variable exportée pour la première fois dans un fichier)
  • neoclide/coc.nvim (on dirait qu'il a les meilleurs plugins pour le support TS)
  • coc-tsserver (pour l'autocomplétion des scripts)

et ensuite mon coc-settings.json :

{
  "coc.preferences.formatOnSaveFiletypes": [
    "css",
    "typescript",
    "javascript",
    "markdown",
    "scss",
    "json"
  ],
  "prettier.disableSuccessMessage": true,
  "tslint.autoFixOnSave": true
}

Cette configuration présente toutefois des lacunes.

  • L'autocomplétion de TS ne fonctionne pas bien et ne peut pas suggérer des types plus ou moins automatiquement. Je me souviens qu'un collègue m'a montré sur son VSCode comment l'éditeur suggère des types pour les variables non typées et qu'il lui suffit d'appuyer sur sa touche d'autocomplétion pour l'utiliser. Ce serait bien.

  • Je reçois la plupart des erreurs TS dans ma ligne d'état, mais elles peuvent prendre un certain temps à s'afficher dans certains cas : J'obtiendrais l'erreur >> qui indique qu'il y a une erreur, mais l'affichage de l'erreur réelle dans la ligne d'état peut prendre 10 secondes.

  • Lorsque l'on se trouve sur une variable, le fait d'appuyer sur K n'apporte qu'une définition partielle de type modérément utile. Je préférerais de loin obtenir la définition complète afin de savoir quels arguments une fonction particulière prend, par exemple.

  • Prettier n'est pas très doué pour le formatage des fichiers HTML

  • Lors de l'autocomplétion des noms de variables pour l'importation automatique, je n'obtiens qu'une liste avec les noms... mais pas la bibliothèque dans laquelle ils ont été trouvés. Il y a beaucoup de chevauchement entre ramda y rxjs par exemple, de sorte que lorsque j'importe quelque chose avec l'autocomplétion, je ne sais jamais vraiment lequel j'obtiens jusqu'à ce que je retourne à la liste des importations et que je vérifie s'il a utilisé le bon ou non

J'ai l'impression que ma configuration actuelle est loin d'être aussi bonne qu'elle pourrait l'être et j'ai du mal à trouver quelque chose en ligne pour une configuration qui couvrirait tout. J'aimerais savoir comment d'autres ont configuré leur vim pour que l'expérience TS soit agréable et fluide : Je ne veux pas utiliser VSCode juste pour que TS s'efface.

1voto

fannheyward Points 5080
  1. Vous n'avez pas besoin d'utiliser vim-import-js , coc-tsserver permettent déjà d'organiser l'importation : call CocAction('runCommand', 'editor.action.organizeImport')
  2. nmap <silent> gd <Plug>(coc-definition) , gd ira jusqu'à la définition
  3. Pruebe coc-prettier y coc-html pour les fichiers HTML

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