Microsoft/vscode

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

Open

#272,761 opened on 2025年10月22日

GitHub で見る
 (1 comment) (0 reactions) (1 assignee)TypeScript (10,221 forks)batch import
bughelp wantedtypescript

Repository metrics

Stars
 (74,848 stars)
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

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