Vscode-ng-language-service: Solicitud de función: obtener referencias en la plantilla (getReferencesAtPosition)

Creado en 19 dic. 2016  ·  16Comentarios  ·  Fuente: angular/vscode-ng-language-service

Hola,

por ahora, puede navegar a la fuente con ctrl+clic o mirar la definición, pero si usa la plantilla de búsqueda de todos los usos, las ocurrencias en métodos o propiedades no están en la ventana de resultados.

Esto sería increíble, pero no estoy seguro de que sea posible hacerlo en VsCode, pero sería bueno :). Especialmente al refactorizar el código, ya que en este momento estas ocurrencias pueden olvidarse o deben buscarse cadenas.

Gracias

feature ivy lib

Comentario más útil

Vamos a lanzar la versión Ivy del servicio de idiomas en la versión 11 (noviembre de 2020). Una vez que logre la paridad de funciones con el servicio de idioma existente de View Engine, ¡priorizaremos esta función! Cambiar al backend de Ivy nos permite implementar funciones como esta, que antes era casi imposible.

Todos 16 comentarios

Esto también habilitaría símbolos en plantillas (es decir, usando F2)

Alguien está haciendo algo con esto?!

¿algo nuevo?

Deberíamos poder implementar esto agregando getReferencesAtPosition al complemento TypeScript de Language Service. Sin embargo, probablemente nos abstendremos de hacer esto hasta que el servicio de lenguaje se reescriba para usar el nuevo compilador Ivy de Angular, lo que facilitará la extracción de las propiedades de clase utilizadas en una plantilla.

(nota: tal vez podamos usar la API de indexación angular o similar para esto)

@kukjevov @kyliau ¿Puede actualizar el título y el contenido de este número?
muchas personas están creando duplicados ya que esto no es visible en la búsqueda

Sugerencia: busque referencias de propiedades en la plantilla de mecanografiado

Tenía un nombre diferente Solicitud de función: Buscar usos muestra también ocurrencias en las plantillas , como puede ver, pero fue cambiado por @kyliau

Así que tienes que hacer un acuerdo con él :).

¿4 años?) Me pregunto cómo WebStorm consiguió esto más rápido que VScode O_o

Esto sería una gran característica. ¿Hay algún cronograma o prioridad en esto? Creo que este problema también se relaciona con el #252

¡Te oimos! @ayazhafiz y yo estamos pensando en formas de respaldar esto en el servicio de lenguaje Angular. @ayazhafiz ya tiene listo un PR que admite parcialmente* esta función.
Actualmente estamos buscando la mejor manera de introducir obtener referencias sin agregar demasiada sobrecarga, ya que gran parte de este código no se reutilizará una vez que cambiemos el backend a Ivy.

Re apoyo parcial:
Las referencias de la plantilla se pueden recuperar fácilmente, mientras que las referencias de TS (por ejemplo, un campo en una clase) son más difíciles porque necesitamos verificar la plantilla. Lo primero es para lo que está el PR de Ayaz.

Estaría muy agradecido por cada proceso.

¿Alguna noticia sobre esto? Parece que el PR no se fusionó

Realmente entusiasmado con esta función, ¿hay alguna noticia al respecto?
Muy doloroso rastrear la referencia rota en la plantilla al cambiar el nombre del símbolo en el archivo mecanografiado.

Vamos a lanzar la versión Ivy del servicio de idiomas en la versión 11 (noviembre de 2020). Una vez que logre la paridad de funciones con el servicio de idioma existente de View Engine, ¡priorizaremos esta función! Cambiar al backend de Ivy nos permite implementar funciones como esta, que antes era casi imposible.

Esto se solucionó con el nuevo servicio de idioma nativo de Ivy, lanzado en v11.1.0 .
Es una función opcional por ahora, pruébela y háganos saber si tiene algún comentario.
Para obtener la mejor experiencia de editor, asegúrese de que su proyecto tenga strictTemplates habilitado en angularCompilerOptions .
En caso de que se encuentre con un error similar, presente un nuevo problema. Voy a cerrar esto por ahora.

¿Deberíamos ver el número correcto de referencias a través de CodeLens también? Porque Ctrl-Click / Find all References funciona, pero las referencias de Codelens y un clic en él no muestran las referencias de la plantilla. Supongo que CodeLens extrae estas referencias de otro lugar, ¿o me falta un indicador de configuración en alguna parte?

¿Deberíamos ver el número correcto de referencias a través de CodeLens también?

¡Gran pregunta! Parece que se necesita una configuración adicional de nuestra parte para la integración con CodeLens. ¿Podrías abrir un nuevo número para esto?

Edit: Reapertura #162

¿Fue útil esta página
0 / 5 - 0 calificaciones