Microsoft/vscode

typescript.tsdk not resolved correctly when it starts with the same name as the parent directory

オープン

#272,761 opened on 2025/10/22

 (1 件のコメント) (0 件のリアクション) (1 人の担当者)TypeScript (39,847 件のフォーク)batch import
bughelp wantedtypescript

Repository metrics

Stars
 (184,936 個のスター)
PR merge metrics
 (平均マージ 11h 43m) (30d で 1,000 merged PRs)

説明

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

  • VS Code Version: 1.105.1
  • OS Version: Windows 11

Steps to Reproduce:

  1. Create a directory called x and open it in VS Code
  2. Create a .vscode/settings.json with "typescript.tsdk": "x/.yarn/sdks/typescript/lib"
  3. Press ctrl+shift+p, choose "Select TypeScript Version", then Pick "Use Workspace Version"
  4. Note that the error message says

The path c:\path\to\x.yarn\sdks\typescript\lib\tsserver.js doesn't point to a valid tsserver install. Falling back to bundled TypeScript version.

when it should should be c:\path\to\x\x\.yarn\sdks\typescript\lib\tsserver.js

It's because of https://github.com/microsoft/vscode/blob/81a9252210bc64a201449a75995c708aa7a5db96/extensions/typescript-language-features/src/utils/relativePathResolver.ts#L11-L15

Originally introduced in https://github.com/microsoft/vscode/commit/733e208be4cfa85e5a1b2e2ea415843f0a9a7b6d

Workaround: "typescript.tsdk": ".//x/.yarn/sdks/typescript/lib", note the double slash at the start.

I could submit a PR that deletes that code to solve it, but I don't understand what it's there for in the first place.

CC @mjbvz

コントリビューターガイド