feat: typescript 7 content mapper - #3111
Conversation
…nto ts7-content-mapper
|
no document highlight yet, VSCode doesn't seems to be merge results from ts and ours
|
Exciting progress! Do you have a stack trace for the auto-import panic handy? |
Weirdly, in import { SvelteComponentTyped } from te-tsgo-t;And if I track down the module specifier printing in that function, in the Btw, should I open an issue to track this? There is also a problem with duplicated inlay hints that seems to happen when a node is split into multiple spans. Should I open two separate issues? |
|
Two issues would be great, if you don't mind! |
we did this in the language-server too
#2733
The language server part currently requires changes in the TypeScript 7 VSCode extension that haven't been published yet. Can only be tested with a local TypeScript extension build.
Known problems
panic in TypeScript language serverpanic is resolved, but mapping is still a problem. At least normal completion is fixed now.
Because we move imports by statements, we need to find a way to move by groups.
Duplicated entries. Open an upstream issue, and also reduce the places where it happens.
VS Code doesn't seem to allow multiple providers. Need to manually merge it when we have middleware api.
PR Test instruction
(Will edit this after this change is published)
{ "type": "extensionHost", "request": "launch", "name": "Launch VS Code extension with Svelte", "runtimeExecutable": "${execPath}", "args": [ "--extensionDevelopmentPath=${workspaceFolder}/packages/vscode-typescript", "--extensionDevelopmentPath=${workspaceFolder}/../language-tools/packages/svelte-vscode" ], "outFiles": [ "${workspaceFolder}/packages/vscode-typescript/dist/**/*.js", "${workspaceFolder}/../language-tools/packages/svelte-vscode/dist/**/*.js" ], "autoAttachChildProcesses": true, "preLaunchTask": "Watch for extension run" },{ "devDependencies": { "svelte-typescript-content-mapper": "file:../language-tools/packages/typescript-content-mapper" }, "pnpm": { "overrides": { "@sveltejs/load-config": "file:../language-tools/packages/load-config", "svelte2tsx": "file:../language-tools/packages/svelte2tsx" } }Make sure you're using the latest commit in the typescript repo.