Since a few weeks i run in some very bad IntelliSense performance issues and are very confused about it. I've done a lot of research through old issues and so on, but found a specific setup in my workplace which causes the problem:
The original Issue i've dived into: https://github.com/angular/vscode-ng-language-service/issues/44
We are also using the DevExtreme component library, but this is not the problem which leaded me to:
https://github.com/johnpapa/vscode-angular-essentials/issues/19
I'll try to describe my setup and give you a picture about it:
The Setup:
vscode: 1.32.1 (system setup)
vscode-ng-language-service: 0.1.11
The library parts are imported and exported with barrel imports: https://basarat.gitbooks.io/typescript/docs/tips/barrel.html
The library is also referenced in the (tsconfig.json).paths section to /dist/mylib/, from which the tester app imports the parts. This was done automatically from the angular cli by creating the library.
The Problem:
When i now develop on the library and want to get some IntelliSense from the services, components and other stuff within the library project itself the Angular Language Service loadtime does every time needs from round about 20 secods to some times over a minute to get loaded when you close and reopen typescript files. The IntelliSense is unusable in this case and it doesn't matter if i hover a internal class attribute, a dependency injection on the constructor or want a function or attribute suggestion from a object.

@JohnnyDevNull I wanted to confirm that I'm also having issues. I have tested on 2 different machines and after disabling all extensions and turning on 1-by-1 I have found that turning on the Angular Language Service extension causes issues with intellisense. Borderline failing to work at all. I have turned on/off this extension multiple times and can reproduce every time. Intellisense goes from <1 second to minutes/not response.
Same here
vscode: 1.32.3 (user setup)
vscode-ng-language-service: 0.1.11
It's been a problem for several months.
push the extension down, maybe then something changes:
https://marketplace.visualstudio.com/items?itemName=Angular.ng-template#review-details
I'am actually totally disappointed about the experience with VSCode and Angular and can't really work with this extension in round about 10+ projects. I've disabled it for a while now and are much happier about it. For those who can't work without switch to WebStorm. There it works pretty much better!
@nhustak ,
Same here.
At this point extension is unusable.
Problem spans across multiple vscode versions.
I have to agree with @JohnnyDevNull - I don't know if it will help, but everyone needs to load up the review section and see if we can get some traction. I really am disappointed to see the way this is being treated - makes me step back and question Angular in general.
Actually, I think I'm going to send out some direct emails and see if I can get us some help.
They are waiting for Ivy to land to update this https://github.com/angular/vscode-ng-language-service/issues/298#issuecomment-438481655
@arjunyel First time I've seen that post. Good to know. Thanks!
v0.800.0 has been published, and from the feedback reported by multiple beta users, the performance regression has since been fixed.
https://github.com/angular/vscode-ng-language-service/releases/tag/v0.800.0
Please try it out, and let me know if that's not the case.
@kyliau didn't post here about it before, but happy to report my performance issues are totally gone. Really fantastic surprise, thanks so much!
@kyliau is this better than this?
https://github.com/cyrilletuzi/vscode-typescript-angular-plugin
@kyliau is this better than this?
https://github.com/cyrilletuzi/vscode-typescript-angular-plugin
Yes! This is the official one. Then one you linked to is an unofficial plugin. It was made because this one had issues. Those issues are now fixed. You should not use the other one.
The legacy official extension launches a duplicate TypeScript process, while this extension launches the same Angular Language Service but as a TypeScript plugin, which is more efficient!
^ what about that? Does this plugin match the other in the same way?
I'll take a look at as soon as i'am at home. Thanks for your reply @kyliau
v0.800.0 has been published, and from the feedback reported by multiple beta users, the performance regression has since been fixed.
https://github.com/angular/vscode-ng-language-service/releases/tag/v0.800.0
Please try it out, and let me know if that's not the case.
@kyliau I did some testing on the update and unfortunately it looks like the problem still exists that I was experiencing. All intellisense in .ts files fails to work it the plugin is enabled. It's a little misleading because after 2-3 minutes of initial loading it will work, but then the CPU will climb and then it fails to work. I've had to go back to developing with it disabled.
It appears to have fixed my issues. I have a fairly large (to me anyway) Angular 7 project that wouldn't work at all before. I'm not seeing any spin and the plugin seems to functioning as expected thus far. THANK YOU.
@bjswick33 Could you please tell me more about your setup? Which version of Angular and Typescript are you using?
If you use the CLI, could you please run ng version and post the details in a new issue?
I'd very much like to flush out the remaining performance bugs. Thanks!
@bjswick33 Could you please tell me more about your setup? Which version of Angular and Typescript are you using?
If you use the CLI, could you please runng versionand post the details in a new issue?
I'd very much like to flush out the remaining performance bugs. Thanks!
@kyliau I sure can. I'll get the information from my personal and work machine. Both are using 2 different versions of angular/typescript. I will also remove the plugin and add it back to try that out as well. I will not be able to get to it till later today, but will post the info your requested.
As the performance regression has been reported fixed by a majority of the users, I'd like to close this issue.
If performance is still an issue for you, please open a new issue and mention the version of Angular and Typescript used in your project (run ng version). Thank you!
@kyliau could you answer this:
The legacy official extension launches a duplicate TypeScript process, while this extension launches the same Angular Language Service but as a TypeScript plugin, which is more efficient!
^ what about that? Does this plugin match the other in the same way?
@kyliau could you answer this:
The legacy official extension launches a duplicate TypeScript process, while this extension launches the same Angular Language Service but as a TypeScript plugin, which is more efficient!
^ what about that? Does this plugin match the other in the same way?
Chill dude, the official one is better! The one you linked doesn't even handle HTML template files. It's useless for a normal project and was made solely as an experiment because this one didn't work very well for a while.
Edit: It's also deprecated since 2 hours ago.
The one you linked doesn't even handle HTML template files
I'm aware of that, I've been using it. My project is huge and actually inline templates does really organise the codebase in a better way IMO.
I was just looking for a straight answer to my question. Memory usage is an important factor in determining quality.
@jpike88 I'm curious why you feel it organizes it any better one way or another. I have each of my components in a directory - one file more or less isn't going to make any difference. To me, I just don't want to look at my HTML embedded like that - it just feels wrong (probably flashbacks of cold fusion 8) ). A DevExtreme grid would be far too much HTML combined with code in a single file. Not knocking you for it, just curious. Are you putting everything into a single file?
Yep my HTML and CSS are online in the decorator.
And yes there are a few key components that have a fair amount in them. But I can count them on one hand. I've componentised so much of the app that the rest of it isnt such a big issue, tables for example are almost always doing a remote fetch so I'm just passing a query object to a custom table component and it does the rest etc
Well i've tried now and for me the problems stay the same. Intellisense in a class to own property does take too long to pop up. With disabled language service it just works fine. Even though it is a reference on a class property itself.
But when i hover or force the intellisense it takes always ~ 20 and above seconds to load. Thats horrible.



@kyliau i opened you a new issue for the problem and i think i've found the problem, see #336
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
_This action has been performed automatically by a bot._
Most helpful comment
@JohnnyDevNull I wanted to confirm that I'm also having issues. I have tested on 2 different machines and after disabling all extensions and turning on 1-by-1 I have found that turning on the Angular Language Service extension causes issues with intellisense. Borderline failing to work at all. I have turned on/off this extension multiple times and can reproduce every time. Intellisense goes from <1 second to minutes/not response.