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
yrxjs
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.