What is @angular/language-service?
The @angular/language-service package provides a way to get completions, errors, hints, and navigation inside Angular templates. It works with both external and inline templates and is used primarily in integrated development environments (IDEs) and text editors to enhance the development experience with Angular applications.
What are @angular/language-service's main functionalities?
Autocompletion
Provides autocompletion suggestions for Angular template syntax, including bindings, directives, components, and template variables.
No specific code sample can be provided as this functionality is integrated into IDEs and leverages the language service API to provide autocompletion suggestions.
Error Checking
Highlights errors in Angular templates, such as type errors, missing directives, and incorrect bindings, helping developers to identify and fix issues more quickly.
No specific code sample can be provided as this functionality is integrated into IDEs and leverages the language service API to highlight errors in Angular templates.
Navigation and Refactoring
Enables features like 'Go to definition' for components, directives, and template variables, and supports refactoring operations such as renaming symbols.
No specific code sample can be provided as this functionality is integrated into IDEs and leverages the language service API to enable features like go to definition and refactoring.
Other packages similar to @angular/language-service
typescript
While not specifically for Angular, TypeScript is often used alongside Angular for type checking and editor integrations. TypeScript provides language services that offer similar features (like autocompletion and error checking) but for TypeScript code rather than Angular templates.
vetur
Vetur is a Vue tooling for VSCode, offering features similar to @angular/language-service but for Vue.js applications. It provides syntax highlighting, snippets, Emmet, linting/error checking, formatting, auto completion, debugging, and more for Vue components.
eslint-plugin-angular
This package is an ESLint plugin that contains a set of rules for static code analysis of Angular applications. While it doesn't offer real-time error checking or autocompletion within templates, it provides a similar goal of improving code quality and catching errors.
20.0.0-rc.2 (2025-05-21)
Deprecations
platform-browser
- All entries of the
@angular/platform-browser-dynamic
Breaking Changes
core
Resource.value()
now returns a default value when in a loading state after reloading the error state
Resource.value()
now throws an error when it's in an error state. Previously it returned undefined
.
Resource.error
now has a type of Signal<Error | undefined>
instead of Signal<unknown>
Resource.reload
has been moved to WritableResource.reload
.
common
| Commit | Type | Description |
| -- | -- | -- |
| af7881abac | fix | cancel reader when app is destroyed (#61528) |
| 966df84351 | fix | prevent reading chunks if app is destroyed (#61354) |
compiler
| Commit | Type | Description |
| -- | -- | -- |
| e74266b108 | fix | avoid conflicts between HMR code and local symbols (#61550) |
compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| b57084267e | fix | Always retain prior results for all files (#61487) |
| 7a3a41f33f | fix | avoid ECMAScript private field metadata emit (#61227) |
core
| Commit | Type | Description |
| -- | -- | -- |
| 7efb3384a7 | fix | cleanup rxResource
abort listener (#58306) |
| b90160d10a | fix | cleanup testability subscriptions (#61261) |
| 3ba39bc28f | fix | getting resource value throws an error instead of returning undefined (#61441) |
| ca6295e90b | fix | handle different DI token types in Chrome DevTools integration (#61333) |
| d62379bb13 | fix | move reload method from Resource to WritableResource (#61441) |
| a89f1cff24 | fix | narrow error type for resources API (#61441) |
| 6e79eaf739 | fix | reading resource value after reload in the error state (#61441) |
| 350776b412 | fix | TestBed.tick should ensure test components are synchronized (#61382) |
| 648d42fe65 | fix | Testing should not throw when Zone does not patch test FW APIs (#61376) |
| 5dbeb42308 | fix | unregister onDestroy
in toSignal
. (#61514) |
| 30e081287d | fix | update min Node.js support to 20.19, 22.12, and 24.0 (#61500) |
platform-browser
| Commit | Type | Description |
| -- | -- | -- |
| bc2cab747f | refactor | Deprecate the platform-browser-dynamic
package (#61043) |
platform-server
| Commit | Type | Description |
| -- | -- | -- |
| 6d8e57d131 | perf | speed up resolution of base (#61392) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.12"></a>