microsoft / microsoft/TypeScript

Allow importModuleSpecifier: "relative" to be overridden for explicitly configured "paths" in a jsconfig/tsconfig

Ouverte
#40,337 1 commentaire 4 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Awaiting More Feedback Suggestion
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

Description

This is a follow-up issue of https://github.com/microsoft/TypeScript/issues/40139

As per the docs, once you've imported a variable somewhere, vscode knows where to find it (bypassing the issue above).

I want all my code to be imported with relative imports everywhere for consistency. so I set "javascript.preferences.importModuleSpecifier": "relative". However, I don't want relative paths to be used when importing from a module declared in tsconfig's paths, as I specifically put it there so it can be resolved as an absolute import for convenience.

Clearly these 2 settings are conflicting, but I wonder if the current compromise is the best one (i.e. settings.json wins over tsconfig)?

I would expect to be able to auto-import variables from my paths module absolutely, even though I want everything else to import relatively.

  • VSCode Version: Insiders
  • OS Version: macOS 10.15.6

Steps to Reproduce:

  1. Clone this repo: https://github.com/Floriferous/paths-resolution
  2. Go to branch absolute-import-paths
  3. Notice test2.js imports someVar properly
  4. Open test.js, try to auto-import someVar, notice intellisense only suggests a relative import

Does this issue occur when all extensions are disabled?: Yes

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire la résolution des chemins, en particulier avec test.js, test2.js et la configuration de chemins jsconfig/tsconfig référencée ; reproduisez les suggestions d’auto-import avec la préférence pour les chemins relatifs activée. Suivez le traitement des auto-imports pour les chemins configurés explicitement. Le travail est terminé lorsque les imports basés sur paths sont suggérés comme absolus, tandis que les autres imports restent relatifs.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, typescript, vscode
Domaine
developer-experience, tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.