Angular Language Service
fork from angular/vscode-ng-language-service v13.3.4 commit
An angular language service coc extension for (neo)vim 💖
Note: require nodejs >= v12 for view-engine
and nodejs >= v14 for lvy
Install
:CocInstall coc-angular
Using
This extension provides a rich editing experience for Angular templates, both inline and external templates including:
- Completions lists
- AOT Diagnostic messages
- Quick info
- Go to definition
Note: This extension does not support syntax highlight for external or inline templates.
Commands
angular.restartNgServer
Restart Angular Language serverangular.openLogFile
Open Angular Server logangular.getTemplateTcb
View Template Typecheck Blockangular.goToComponentWithTemplateFile
go to componentangular.goToTemplateForComponent
go to templates
Configuration
angular.trace.server
enable angular language server trace logangular.log
Enables logging of the Angular server to a file. This log can be used to diagnose Angular Server issues. The log may contain file paths, source code, and other potentially sensitive information from your project.angular.view-engine
Use legacy View Engine language service.angular.suggest.includeAutomaticOptionalChainCompletions
Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires TS 3.7+ and strict null checks to be enabled.angular.suggest.includeCompletionsWithSnippetText
Enable/disable snippet completions from Angular language server. Requires using TypeScript 4.3+ in the workspace and thelegacy View Engine
option to be disabled.
Configuring compiler options for the Angular Language Service
The Angular Language Service uses the same set of options that are used to compile the application.
To get the most complete information in the editor, set the strictTemplates
option in tsconfig.json
,
as shown in the following example:
"angularCompilerOptions": {
"strictTemplates": true
}
For more information, see the Angular compiler options guide.
Versioning
The language service extension relies on the @angular/language-service
and typescript
packages
for its backend. @angular/language-service
is always bundled with the extension, and is always
the latest version at the time of the release.
typescript
is loaded, in order of priority, from:
- The path specified by
typescript.tsdk
in project or global settings. - (Recommended) The version of
typescript
bundled with the Angular Language Service extension. - The version of
typescript
present in the current workspace's node_modules.
We suggest not specifying typescript.tsdk
in your VSCode settings
per method (1) above. If the typescript
package is loaded by methods (1) or (3), there is a potential
for a mismatch between the API expected by @angular/language-service
and the API provided by typescript
.
This could lead to a failure of the language service extension.
For more information, please see #594.