Vscode-ng-language-service: Hoja de ruta del servicio de lenguaje angular

Creado en 30 may. 2019  ·  20Comentarios  ·  Fuente: angular/vscode-ng-language-service

Ha pasado más de un año desde que @chuckjaz , el autor original del servicio de idiomas, dejó el equipo. Desde entonces, el equipo se ha dispersado muy poco trabajando en varios objetivos ambiciosos, a saber, el compilador Ivy y la integración de Bazel con CLI, entre otros.
Ahora que se lanza la versión 8, nos gustaría proporcionar algunas actualizaciones y una hoja de ruta para el servicio de idiomas en el futuro.

  1. Estabilidad / rendimiento ✔️ ¡hecho!
    Es nuestra máxima prioridad asegurarnos de que el rendimiento del servicio de idiomas no retroceda. Continuaremos abordando los problemas de estabilidad, si los hubiera.

  2. Transición al complemento tsserver ✔️ ¡hecho!
    Durante los próximos meses, asumiremos el trabajo restante necesario para realizar la transición al modelo de complemento tsserver. Los principales beneficios de un complemento tsserver son el rendimiento (sin compilación de TS duplicada) y sin desajuste de versiones (tanto Angular como TS). La mayor parte del trabajo consiste en asegurarse de que las plantillas HTML externas sean compatibles.
    Actualización 11/11/2019: si bien seguiremos admitiendo el modo de complemento, hemos decidido seguir manteniendo la extensión independiente. La extensión se ha renovado por completo para abordar los problemas de rendimiento y se han agregado muchas funciones. Se publicó una nueva versión en el mercado junto con el lanzamiento de la versión 9 de Angular.

  3. Correcciones de errores / mejoras ✔️ ¡hecho!
    Una vez que el complemento esté listo, abordaremos algunos errores de larga data con respecto a la verificación del tipo de plantilla y algunas mejoras de funciones muy solicitadas.

  4. Cambie el servicio de idioma al compilador Ivy ✔️ ¡listo!
    Dado que el modelo de compilación de Ivy es significativamente diferente del de View Engine, el backend del servicio de idiomas deberá renovarse para garantizar la compatibilidad futura.

Gracias por todos los comentarios y háganos saber si desea contribuir.

Comentario más útil

Última actualización: el servicio de idiomas Ivy estará disponible para pruebas beta en la versión 11. El lanzamiento está programado para el 11 de noviembre de 2020. Nuestro objetivo es mejorar el rendimiento y proporcionar un conjunto de funciones más amplio en esta iteración completamente nueva del servicio de idiomas. Entre las novedades se encuentran:

  1. Mejores tipificaciones en plantillas angulares
  2. Produce los mismos diagnósticos que el compilador
  3. Honrar al usuario angularCompilerOptions

Sabemos que ha tardado mucho en llegar, ¡pero gracias por el apoyo y la paciencia!

Todos 20 comentarios

Bueno, solo para vincularlo aquí, tengo dos problemas / errores graves de rendimiento bien descritos:

Mientras que para el primero hay una solución para no cerrar al menos el último editor abierto, para el segundo es solo deshabilitar el complemento. De mis pruebas intensivas con el complemento, puedo decir que si estos dos están arreglados, el complemento es casi perfecto.

Se publica una nueva versión de la extensión Angular en GitHub como una vista previa, consulte https://github.com/angular/vscode-ng-language-service/releases/tag/v0.900.0-next.0.

Si lo prueba, háganos saber cualquier problema / error. ¡Gracias!

@kyliau : Me gustaría probar la inteligencia angular integrada más nueva en Eclipse Wild Web Developer. ¿La extensión que ha vinculado en su comentario anterior contiene un servidor de idiomas (como en un proceso que habla LSP)? En caso afirmativo, ¿se espera que funcione tanto en archivos TS como en HTML? Y en caso afirmativo, ¿cuál es la forma recomendada de iniciar este servidor de idiomas?

@kyliau Seguí las instrucciones para instalar v0.900.0-next.0, sin embargo, no hay sugerencias de autocompletar para nada (por ejemplo, selectores de componentes, propiedades, eventos, etc.).

Me complace anunciar que se ha lanzado la versión RC y, en unas pocas semanas, se publicará una nueva extensión en el mercado de vscode.
Mientras tanto, si desea probarlo, descargue el binario de la página de lanzamiento .
Actualmente nos estamos centrando en el elemento de trabajo (3), en el que corregiremos algunos errores de larga data.

La nueva extensión ya está activa. Descárguelo de https://marketplace.visualstudio.com/items?itemName=Angular.ng-template

Tengo una pregunta sobre el punto 4 "Cambiar el servicio de idioma al compilador Ivy [en curso]"

Tenemos nuestra propia biblioteca interna, que solo se utiliza en las aplicaciones que desarrollamos nosotros mismos. Así que lo migramos a Ivy, porque todo nuestro código base se migró a la vez. Pero ahora vscode ya no reconoce las Directivas y Componentes de la biblioteca.

Esto significa que la mejor manera por ahora sería compilar la biblioteca con View Engine hasta que el servicio de idiomas sea totalmente compatible con Ivy. ¿Es esto correcto? Si es así, ¿hay una hoja de ruta para cuándo llegará el soporte para el servicio de idiomas?

Las aplicaciones que utilizan el compilador Ivy no tienen ningún problema. Los componentes de las aplicaciones se han resuelto correctamente.

@furti Como ha señalado, sí, por ahora las bibliotecas y aplicaciones deberán compilarse con View Engine para que el servicio de idiomas recoja el metadata.json que es la base del servicio de idiomas actual.
@xiaoxiangmoe Estoy trabajando con el equipo del compilador para integrar completamente Ivy en el servicio de idiomas. Actualmente, nuestro objetivo es un lanzamiento beta en la versión 10, que debería ocurrir a fines de junio / principios de julio, salvo sorpresas. Nuestra planificación se ha visto algo interrumpida debido a la situación actual de la FMH, pero haremos todo lo posible para ceñirnos a la hoja de ruta original.

Es bueno ver que angular ha lanzado v10 🎉
¿Hay alguna actualización para "Cambiar el servicio de idioma al compilador Ivy"?

@xiaoxiangmoe La línea de tiempo para el servicio de idiomas de Ivy se ha deslizado debido a una reorganización interna.
El trabajo ya ha comenzado y hemos incorporado a algunos miembros para aumentar el impulso de este proyecto.
Puede seguir el progreso de todo el proyecto aquí .
Planeamos lanzar Ivy LS junto con el LS existente, para que los usuarios que quieran probar una "vista previa temprana" puedan hacerlo desde la configuración de su editor. ¡Por favor manténgase al tanto!

Creo que la actuación todavía no ha terminado. Esta extensión ha sido la mayor fuente de picos de CPU altos para mí y para muchas otras personas que conozco durante mucho tiempo y últimamente mantiene locos a los fanáticos de macOS.

Sí, estoy de acuerdo con @DenysVuika. Tuve problemas con este complemento durante meses. Ayer lo abandoné y lo desactivé. Después de iniciar vscode y ng web server, la CPU se disparará en algún momento y permanecerá allí hasta que reinicie vscode. Intellisense dejará de funcionar varias veces al día. Me veo obligado a reiniciar vscode todos los días, varias veces. Desde que lo desactivé, todo volvió a la normalidad. Yo también estoy en macOS. Aquí hay algunos datos contextuales:

CLI angular: 10.0.1
Nodo: 12.13.0
SO: darwin x64

Angular: 10.0.2
... animaciones, común, compilador, compilador-cli, núcleo, formularios
... plataforma-navegador, plataforma-navegador-dinámico, enrutador
Espacio de trabajo de Ivy: Sí

Versión del paquete

@ angular-devkit / arquitecto 0.1000.1
@ angular-devkit / build-angular 0.1000.1
@ angular-devkit / build-optimizer 0.1000.1
@ angular-devkit / build-webpack 0.1000.1
@ angular-devkit / core 10.0.1
@ angular-devkit / schematics 10.0.1
@ angular / cdk 10.0.1
@ angular / cli 10.0.1
@ angular / material 10.0.1
@ ngtools / webpack 10.0.1
@ esquemas / angular 10.0.1
@ esquemas / actualización 0.1000.1
rxjs 6.6.0
mecanografiado 3.9.6
paquete web 4.43.0

En mi proyecto actual de Angular 10, usando la Versión: 1.48.0-insider, ya no tengo ningún Angular Intellisense en mis plantillas HTML ni ninguna verificación de errores (como si estuviera vinculado a una variable inexistente).

Última actualización: el servicio de idiomas Ivy estará disponible para pruebas beta en la versión 11. El lanzamiento está programado para el 11 de noviembre de 2020. Nuestro objetivo es mejorar el rendimiento y proporcionar un conjunto de funciones más amplio en esta iteración completamente nueva del servicio de idiomas. Entre las novedades se encuentran:

  1. Mejores tipificaciones en plantillas angulares
  2. Produce los mismos diagnósticos que el compilador
  3. Honrar al usuario angularCompilerOptions

Sabemos que ha tardado mucho en llegar, ¡pero gracias por el apoyo y la paciencia!

@kyliau ¿Se lanzará con angular v11.0.0-rc.2 o v11.0.0-rc.3?

@kyliau ¿Se lanzará con angular v11.0.0-rc.2 o v11.0.0-rc.3?

@xiaoxiangmoe El servicio de idiomas Ivy sigue siendo experimental y está habilitado en la versión 11.0, porque todavía tenemos trabajo por hacer para pulir la experiencia del usuario y solucionar algunos errores. Si desea probarlo de todos modos, puede descargar la versión RC desde https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1100.0-rc.0 e instalar el .vsix archivo manualmente.

Dado que este es un gran hito para el proyecto, nos gustaría asegurarnos de que la extensión esté bien probada y la función esté completa antes de que se lance como estable. Hemos logrado un progreso tremendo y estamos emocionados de compartir el trabajo con la comunidad, pero agradecemos un poco más de paciencia mientras atamos los cabos sueltos.

@kyliau ¿ Cuándo podemos esperar que se investiguen los errores abiertos para el servicio Ivy Language?
Abierto https://github.com/angular/vscode-ng-language-service/issues/936

@kyliau ¿Se lanzará con angular v11.0.0-rc.2 o v11.0.0-rc.3?

@xiaoxiangmoe El servicio de idiomas Ivy sigue siendo experimental y está habilitado en la versión 11.0, porque todavía tenemos trabajo por hacer para pulir la experiencia del usuario y solucionar algunos errores. Si desea probarlo de todos modos, puede descargar la versión RC desde https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1100.0-rc.0 e instalar el .vsix archivo manualmente.

Dado que este es un gran hito para el proyecto, nos gustaría asegurarnos de que la extensión esté bien probada y la función esté completa antes de que se lance como estable. Hemos logrado un progreso tremendo y estamos emocionados de compartir el trabajo con la comunidad, pero agradecemos un poco más de paciencia mientras atamos los cabos sueltos.

¿Cuál es la forma correcta de activar Ivy Language Service? Ya configuré esta configuración experimental en verdadero, pero no puede ejecutar ngcc. Intenté ejecutarlo manualmente justo antes, pero no funciona. ¿Hay algún paso obvio que no esté tomando?

Espero que no descarte este comentario al igual que cualquier otra solicitud de asistencia al usuario. Sé que no estás preparado para eso. Solo quiero saber la forma correcta de probar esto.

@Arkthur Este es mi angularCompilerOptions:

{
    "angularCompilerOptions": {
        "fullTemplateTypeCheck": true,
        "strictInjectionParameters": true,
        "strictInputAccessModifiers": true,
        "strictTemplates": true
    }
}

Además, si usa vscode-ng-language-service v0.1100.1 o v0.1100.3, reinstale v0.1100.0. Parece que vscode-ng-language-service v0.1100.1 tiene errores graves y el servicio de idioma Ivy no funcionará.

Ha tardado mucho en hacerlo, pero hoy el servicio de idioma nativo de Ivy finalmente está disponible para probar en la versión 11.1.0.
Ivy-native LS corrige muchos problemas fundamentales que eran imposibles de solucionar en View Engine:

  • rendimiento de compilación incremental,
  • verificación de tipo más robusta,
  • mismos diagnósticos que el compilador, etc.

También presenta algunas características nuevas, como buscar referencias para variables en plantillas.

Descárguelo del mercado de vscode y avísenos si tiene algún comentario.
Las instrucciones para habilitar Ivy-native LS se pueden encontrar en las notas de la

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