microsoft / microsoft/TypeScript

Auto-import completions are not shown inside named imports with TypeScript 7 / tsgo

Aperta
#64,270 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Go
Stelle
111k
Fork
14.3k
Merge medio
2g 4h
PR unite (30g)
132

Descrizione

### 🔎 Search Terms

TypeScript 7, tsgo, TypeScript Native Language Server, named import completions, import completions, auto import, autoImports, includeCompletionsForImportStatements, import autocomplete, VS Code

### 🕗 Version & Regression Information

- This changed between TypeScript 6 and TypeScript 7.
- TypeScript 6: named import completions work as expected.
- TypeScript 7.0.2: named import completions are not provided when using the native TypeScript language server (`tsgo`).

This issue is reproducible with the minimal repository:

https://github.com/devvitor67/typescript-7-named-exports-error

The repository is configured to use the TypeScript 7 native language server.

Relevant VS Code settings:

```json
{
"js/ts.experimental.useTsgo": true,
"js/ts.suggest.includeCompletionsForImportStatements": true,
"js/ts.suggest.autoImports": true
}
```

The completion-related settings are explicitly enabled.

### ⏯ Playground Link

https://github.com/devvitor67/typescript-7-named-exports-error

### 💻 Code

The reproduction uses a local module with named exports.

`src/library.ts`:

```ts
export const foo = "foo";
export const bar = "bar";

export function greeting(name: string) {
return `Hello, ${name}!`;
}
```

In `src/index.ts`, type:

```ts
import {
```

and trigger completion with `Ctrl+Space`.

The module contains the following named exports:

```ts
foo
bar
greeting
```

With TypeScript 6, these exports are suggested by the language server.

With TypeScript 7 / `tsgo`, no named import completions are displayed.

### 🙁 Actual behavior

With TypeScript 7.0.2 and the native TypeScript language server (`tsgo`) enabled, no completion suggestions are shown after typing:

```ts
import {
```

Even though the local module contains resolvable named exports, the completion list is empty.

The same project produces the expected named import completion suggestions when using TypeScript 6.

This can be reproduced using the minimal repository:

https://github.com/devvitor67/typescript-7-named-exports-error

### 🙂 Expected behavior

When typing:

```ts
import {
```

the language server should suggest the named exports available from the resolvable module.

For the reproduction above, the following suggestions should be displayed:

```text
foo
bar
greeting
```

This is the behavior observed with TypeScript 6.

### Additional information about the issue

This appears to be a regression in named import completion behavior when using the TypeScript 7 native language server (`tsgo`).

The issue is not dependent on an external package or its type declarations. The reproduction uses only a local TypeScript module with simple named exports.

The project uses TypeScript 7.0.2 and the native language server is explicitly enabled:

```json
{
"js/ts.experimental.useTsgo": true
}
```

The relevant completion settings are also explicitly enabled:

```json
{
"js/ts.suggest.includeCompletionsForImportStatements": true,
"js/ts.suggest.autoImports": true
}
```

The expected behavior can be observed by switching the same project to TypeScript 6, where the named exports are correctly suggested inside the `import { ... }` statement.

I have provided a minimal reproduction repository to make the issue easier to investigate:

https://github.com/devvitor67/typescript-7-named-exports-error

I will also verify the behavior against the latest `typescript@next` build to determine whether the issue has already been fixed.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Start with the linked minimal repository, using src/index.ts and src/library.ts, and reproduce completion after typing import { with tsgo and then TypeScript 6. Compare the completion results against the expected foo, bar, and greeting suggestions. Done means named exports from the local module appear inside the named import completion list with tsgo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
devtools
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
68/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.