microsoft / microsoft/TypeScript
VSCode auto-import ignores typescript.preferences.importModuleSpecifierEnding when using a path from the package.json imports
Personne n'a encore pris cette issue.
- 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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