TypeScript 7 VS Code extension: a workspace "typescript" 7.x package is not detected, only "@typescript/native-preview", which is no longer published
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 84/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript, vscode
- Domaine
- developer-experience, tooling
Piste de recherche
Commencez dans packages/vscode-typescript/src/session.ts, en particulier dans findWorkspaceNativePreviewPackages, et examinez comment promptUseWorkspaceVersion et promptSelectVersion utilisent ses résultats. Comparez la détection existante de @typescript/native-preview avec le package typescript et pathHasTsserverJs. C’est terminé lorsqu’un package du workspace TypeScript 7+ est détecté, que le prompt du workspace et le sélecteur de version le proposent, et que l’extension sélectionne ce compilateur.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The TypeScript 7 extension finds a workspace's own TypeScript 7 only in node_modules/@typescript/native-preview. That package was last published on 2026-07-07 (7.0.0-dev.20260707.2). TypeScript 7 now ships as typescript: [email protected] came out the next day, and the 7.1 nightlies ship as typescript@next (7.1.0-dev.20260930.4 today). So a project that installs TypeScript 7 the current way runs the extension's bundled compiler instead of its own. Nothing tells the user, and the only fix is to write a tsdk setting by hand.
Versions: TypeScript 7 extension 1.0.1, VS Code 1.140.0, macOS.
Repro
- In an empty folder, run
npm install -D typescript@nextand addmain.tswithexport const n: number = 1;. - Open the folder in VS Code with the TypeScript 7 extension installed, and open
main.ts. No setting is needed: on its first start, the extension turns TypeScript 7 on by itself (it writes"js/ts.experimental.useTsgo": trueinto the user settings). If TypeScript 7 was turned off later, run TypeScript: Enable TypeScript 7 Language Server.
Expected: the extension offers the workspace's TypeScript, as it does for @typescript/native-preview: the "This workspace has TypeScript 7 installed" prompt, and Use Workspace Version in TypeScript: Select TypeScript Version.
Actual: no prompt, and the server runs the extension's own compiler (7.0.2), not node_modules/typescript (7.1):
…/extensions/typescriptteam.native-preview-1.0.1-darwin-x64/lib/tsc --lsp --stdio
With "js/ts.tsdk.path": "node_modules/typescript", the same project runs the workspace compiler. So only the detection is missing: resolveTsdkPathToExe already accepts a typescript package (bin tsc).
Where
In packages/vscode-typescript/src/session.ts (main at 43521c80), findWorkspaceNativePreviewPackages checks only node_modules/@typescript/native-preview. Both promptUseWorkspaceVersion and the version picker (promptSelectVersion) use it.
Suggestion
Also detect node_modules/typescript when it is TypeScript 7 or newer. pathHasTsserverJs already tells a TypeScript 5 or 6 package apart from a TypeScript 7 one.
Why it matters
- The editor and the project's
tsc(CLI, CI) then run the same compiler. - Features that need a 7.1 nightly, such as content mappers with
--runExternalCode, now need either the TypeScript 7 Nightly extension or a hand-writtentsdksetting. The Nightly extension applies to every workspace and changes daily. Thetsdksetting is easy to miss, because the extension never mentions it.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 15.5k
- Merge moyen
- 1 j 21 h
- PR mergées (30 j)
- 150
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire 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.
Autres issues de microsoft/TypeScript
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
microsoft/TypeScript#64661 ·
Les mainteneurs répondent en général sous 1 jour
-
Non-enum CLI options with multiple values separated by comma and space aren't whitespace trimmedPeut-être pris @auvred l’a pris il y a 4 jours. OuverteBug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
microsoft/TypeScript#64618 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
`EFNoLeadingComments` suppresses synthesized leading comments in tsgo; Strada only suppresses source commentsPeut-être pris @weswigham l’a pris il y a 8 jours. OuverteNeeds Investigation
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
microsoft/TypeScript#64453 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
enhance: Add tests for premature caching of contextual parameter typesPeut-être pris @luchenxu73 l’a pris il y a 22 jours. OuvertePossible Improvement
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
microsoft/TypeScript#64278 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Docs
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
microsoft/TypeScript#64118 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de microsoft/TypeScript
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
vanderheijden86/b9s#20 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
OpenTollGate/tollgate-module-basic-go#726 ·
Les mainteneurs répondent en général sous 1 jour
-
ux waiting for feedback
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
evcc-io/evcc#34527 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
phase:v3 type:harness
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour