microsoft / microsoft/TypeScript

Distinguishing suggestions from global scope from local suggestions

Abierto
#27,487 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Experience Enhancement Suggestion VS Code Tracked
Lenguaje dominante
Go
Estrellas
111k
Forks
14.3k
Merge medio
1 d 19 h
PR fusionados (30 d)
117

Descripción

From https://github.com/Microsoft/vscode/issues/59437

Search Terms:

  • TSServer
  • completions
  • suggestions

Code
For the example ts file:

class FooClass {
    toString(): void {
        |
    }
}

Trigger suggestions at the | inside the toString method

Problem
We get back two completions from completionInfo:

     {
            "name": "toString",
            "kind": "function",
            "kindModifiers": "declare",
            "sortText": "0"
        },
        {
            "name": "toString",
            "kind": "method",
            "kindModifiers": "",
            "sortText": "0",
            "insertText": "this.toString"
        },

However when we then make the completionEntryDetails request, we can only pass the identifier name: "toString". This makes it unclear which completion entry we are actually requesting completion details for.

Proposal
completionEntryDetails already has a source field that is used to identify when a suggestion is an auto import. I believe that this field could also be used for global symbols, such as when a symbol name comes from a global lib.d.ts file. In this case, the first toString suggestion comes from a global in dom.d.ts

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Usa el ejemplo de FooClass para reproducir las finalizaciones duplicadas de toString que devuelve completionInfo. Lee cómo completionEntryDetails usa actualmente source para las importaciones automáticas y, después, evalúa el caso propuesto de símbolos globales de dom.d.ts; estará terminado cuando los consumidores puedan distinguir las entradas y solicitar los detalles correspondientes.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
compilers
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.