microsoft / microsoft/TypeScript
Distinguishing suggestions from global scope from local suggestions
Nadie ha tomado este issue todavía.
- 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
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- 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