microsoft / microsoft/TypeScript

VSCode auto-import ignores typescript.preferences.importModuleSpecifierEnding when using a path from the package.json imports

Ouverte
#60,423 3 commentaires 6 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Needs More Info
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
1 j 19 h
PR mergées (30 j)
117

Description

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

  • VS Code Version: 1.95.1
  • OS Version: MacOS 14.7

I have these settings in VSCode:

{
   "javascript.preferences.importModuleSpecifierEnding": "minimal",
   "typescript.preferences.importModuleSpecifierEnding": "minimal"
}

I have these setting in my package.json:

"imports": {
    "#src": ["./src/index.ts", "./src/index/tsx"],
    "#src/*": [
      "./src/*",
      "./src/*.ts",
      "./src/*.tsx",
      "./src/*/index.ts",
      "./src/*/index.tsx"
    ]
  },

I have these settings in my tsconfig.json

"target": "esnext",
"module": "esnext",
"moduleResolution": "bundler",

However, when I auto-import something that starts with #src/, it automatically appends a .js to the import (or a .ts if I have allowImportingTsExtensions on. This is ignoring my settings to use the minimum module specifier ending I set in VSCode.

It looks like the addition of the .ts functionality was added in this bugfix: https://github.com/microsoft/TypeScript/issues/52167. I'm not sure why it wasn't set to respect the vscode settings.

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

Reproduisez le comportement de l’auto-import en utilisant les imports de package.json, les paramètres de tsconfig.json et les préférences de VS Code signalés. Commencez par retracer la gestion des spécificateurs de module par TypeScript, puis vérifiez que les imports utilisant des chemins tels que #src/ respectent la terminaison minimale configurée sans régression du comportement existant pour .js ou .ts.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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