I've been using webstorm for node.js dev for a few years and this issue has been driving me to insanity for just as long - searching for ways to resolve this takes up a significant portion of my google search history - to no avail!
I see that I'm not the only person with this problem, probably there are many others.
As you can see, there is a problem, the indexing is really slow. And this is not getting any better as projects are just growing, modules are being added, complexity will increase. If there was no problem, me and many others would not bother writing anything here and spending hours of our time on it, so just answering people comments with more comments are not going to get us much further.
@Elena I would like to suggest, that we transform this discussion into something constructive for the community? How about making a blog post or something with steps and screen shots on how to optimise the performance of indexing for microservices projects, in particular projects with (NodeJS) node_modules or (Golang) /vendor folders (Or even projects having both ? Thats my case.) and how can we properly configure webstorm to avoid waiting >2h to get index completed ? That will be awesome.
There is no way to cancel/disable indexing - it is a core feature, all WebStorm functionality (syntax/error highlighting, code completion, code inspections, navigation, refactoring, code coverage, search, etc.) is based on it. Please try invalidating caches (File/Invalidate caches, Restart) - does the problem persist?
Also, do you have any build tasks running in background? Do they watch your files (i.e. are they triggered on file changing)? I'd suggest excluding all dynamically generated folders from the project (Mark directory as/Excluded) - this should make WebStorm much faster. Note also that scanning WebStorm folders for viruses slows down indexing tremendously, that's why excluding them from from on-access scan is required.
i just purchased a license renewed then the latest update came and it wont stop indexing, this makes the ide completely useless, i even followed the guide about switching from the bundled jvm to the native one for my os, turned off non native plugins, it sped it up a little but otherwise useless for me. uses 100% of all cores and 3gb ram. can you add a feature where i can choose what i want to index or turn some indexing off? otherwise i have to switch to sublime, i cant have my employment jeopardized due to this.
My biggest problem with indexing is that it seems to happen randomly. Sometimes I have a bunch of WebStorm projects open, and for some reason, suddenly all of them decide to index.
Would there be a way to add an option to WebStorm to "only index on command" and then add a command to index? And furthermore, only index the active editor window, rather than all open instances of WebStorm? Is that something I can put a feature request in for?
"Indexing on project opening/Git branches switching/etc. is normal, and there is no way to avoid it." <- this is the issue i experience
I work with microservices - its not possible to open them all in one instance of webstorm because each has a node_modules dir, and webstorm runs out of memory (on a 16GB mbp) trying - so instead i open each in a separate instance of webstorm - this means i'm constantly opening and closing different projects... so i'm always waiting for the indexing
"You can exclude folders from indexing by marking them excluded (Mark directory as/Excluded)"
I've seen this said many times - it doesn't seem to affect the indexing tho, only the inspections - unless something has changed recently? I've also tried using scopes - but it has the same issue. If it did work, ideally i'd want to open a group of microservices in one webstorm instance - but to do that, i'd need it to open successfully once so that i could configure the directories as excluded, but it runs out of memory and crashes before there is any chance to do that.
It would be nice if the node_modules directory was ignored in all cases - you should have to specifically configure it for any kind of indexing/inspections
It is btw sometimes hard to know what directories are useful to exclude for indexing. I have hunderds of directories, and it does not show what it is currently indexing.
Indexing does have to happen very often, rendering my IDE and actually the complete computer useless for an irritating long time. Sometimes several times a day: every time something (sometimes very minor) changes in the project's versions or dependencies, or if intellij itself has an update.
Besides that, also if it is not indexing Intellij often consumes 100% cpu, and I'm force to kill it of at least once a day, after which I have to restart it (btw with a good chance that it want to reindex somewhat again).
Upgraded to 2016.3 and indexing is relentless. Starts suddenly, lasts for minutes and only pauses when a dialog is open. The problem is that the IDE didn't do it before 2016.3. If this change is intentional, its annoying as it it eats up a powerful CPU and my development environment stutters. If it is not intentional then it's a bug.
So, to summarize, it's like this: anyone who want to stop indexing, I doubt if it will ever be possible, either you take it or leave it... because JetBrains won't care or listen...what I can say is that it's not something I admire, get rid of it if you can, there are many other competitive products out there..
I agree. I've been using IntelliJ for years now, and it's *always* had this frustrating problem where it will just freeze up while you're editing and start indexing for 10 seconds. Here's an idea: DON'T START INDEXING WHEN SOMEONE'S ACTIVELY USING INTELLIJ/WEBSTORM/ETC. Is that so hard? Better yet is if it would stop indexing if you came back to the window so you didn't have to think about it.
And why is indexing taking so long anyway? What's it doing? I haven't changed almost anything, so what could it possibly be indexing?
Hi, same problem over here but I kinda understand what Elena is saying (moreover, debugging with our messages must be hard :) )
Nevertheless: would it be possible to at least add a window showing WHAT is beeing indexed? It would at least allow users to decide what to exclude (and not to do it random) + to understand the behavior and eventually report a bug more precisely, what do you think? I think it can be a hotfix that could be a first good step in the overall resolution of the disturbance in the user experience
For me the same I leave all projects open untill they are finished however... copying new files that indexing again!!! It cost me a lot of time so also money :(
IntelliJ idea: What about start indexing after each run testng tests: only output report files are updating what is actually included in .gitignore file.
It looks like a solution: Appearance & Behavior / System Settings -> Synchronization / Synchronize files on frame activation -> disable
Hmm... And what should be written in this blog post? The only way to not index certain files is excluding them from indexing. And you have 3 ways to do this:
- mark directory as Excluided
- add it to 'Ignore files and folders' list
- move it out of your project
The less files you have in project, the faster is indexing - that's obvious, I think.
But, even for huge projects, indexing shouldn't take hours - this is not something that can be treated as a normal behavior. Things that might affect the speed:
- files locates on network drives
- project files and/or caches folder scanned for viruses
- there are deep/recursive symbolic links in project path
- there are tools that are watching and constantly updating project directories/caches => such updating will cause constant index re-building
Sorry, I know absolutely nothing about microservices projects, so I can hardly advise on proper configuration
I don't like it when it's indexing my complete system (Arch Linux) is not responding too well, because Storm is eating up all resources (CPU). Can the indexing be set less "agressive" in some kind of setting I don't know of?
for me removing the config directory fixed it, lost all my configs but it doesnt indexing nemore maybe when the upgrade for 2016.3 came out the paths got messed up, i determined it was indexing the home folder by hovering over the indexing icon, occasionaly you will see files that are being indexed in a popup, it be nice to make the popup not disappear when every new indexing file but to leave the popup displayed when hovered and have a rolling log
The time taken to index is the main problem for me. I've given up using any unnecessary plugins because when they update it triggers an index, but this isn't really that much of a bother for me. It's the startup that's the real killer, and here's my proposal: add the ability to use the existing index on startup, rather than re-indexing. An option called "enable indexing dialogue" that turns on a startup-time popup saying "do you want to re-index your project?" would give me the ability to indicate whether any files have changed, and therefore whether the existing index is still valid. Most of the times I start Intellij I'm actually restarting it, and therefore no change to the indexes are required. If they could be serialised to disk and reloaded into memory in an efficient manner, I could skip the startup reindex.
Yah, this usually happens everytime I run `npm link` to link to another node package locally on my system. Seems to go crazy on the node_modules folder in the project that I've linked from.
I accidentally opened my personal folder, and Pycharm started indexing all my subfolders inside that. Would be great if we can stop indexing files if we make some mistake as this.
This problem has caused me to fail one of my classes. I was on an extremely tight deadline, and PyCharm crashed, when I went to load it back up, it took over 6 hours to reindex everything. I had to give a presentation of my project for my final and I couldn't do anything but talk about what my project would be like if it would load. Which was especially embarrassing because I had been trying to convince the teacher to switch over to Jetbrains products all semester. 6 hours to index? I wonder how that works with a 8 hour workday?
Been using IntelliJ for many years, and indexing is more and more often getting in the way.. Especially when working with Go, it indexes the $GOPATH, and that is usually BIG.
Also, even though I have no Python facet in the current project, "Updating Python Paths" takes forever. And IntelliJ is normally stuck on 100% for quite some time. After it is done, IntelliJ is still hugging one core. Force Quit -> full reindex using almost all possible cpu (and half a battery).
I really like the golang support in Intellij, but the indexing kills that experience.
I can see that this is not necessarily the fault of JetBrains, but it seems the plugin ecosystem together bigger source structures (goalng, npm, ...) is making the IntelliJ experience worse.
Yes, Please. This is very annoying. Everytime Intellij tries to run indexing and freezes. There's no way to get out of here unless I kill it forcibly. I've to use git with Intellij so I am stuck.
2017.2 will provide a way to pause indexing:
I'm closing this thread, it's huge and not manageable.
Please feel free to create separate threads for your issues (like lockups when choosing remote host, re-indexing on installing a plugin, etc.)
I've been using webstorm for node.js dev for a few years and this issue has been driving me to insanity for just as long - searching for ways to resolve this takes up a significant portion of my google search history - to no avail!
I see that I'm not the only person with this problem, probably there are many others.
As you can see, there is a problem, the indexing is really slow. And this is not getting any better as projects are just growing, modules are being added, complexity will increase.
If there was no problem, me and many others would not bother writing anything here and spending hours of our time on it, so just answering people comments with more comments are not going to get us much further.
@Elena I would like to suggest, that we transform this discussion into something constructive for the community? How about making a blog post or something with steps and screen shots on how to optimise the performance of indexing for microservices projects, in particular projects with (NodeJS) node_modules or (Golang) /vendor folders (Or even projects having both ? Thats my case.) and how can we properly configure webstorm to avoid waiting >2h to get index completed ? That will be awesome.
Cheers.
There is no way to cancel/disable indexing - it is a core feature, all WebStorm functionality (syntax/error highlighting, code completion, code inspections, navigation, refactoring, code coverage, search, etc.) is based on it.
Please try invalidating caches (File/Invalidate caches, Restart) - does the problem persist?
Also, do you have any build tasks running in background? Do they watch your files (i.e. are they triggered on file changing)? I'd suggest excluding all dynamically generated folders from the project (Mark directory as/Excluded) - this should make WebStorm much faster. Note also that scanning WebStorm folders for viruses slows down indexing tremendously, that's why excluding them from from on-access scan is required.
Worse part of this, is that after every release, I just see things getting worse.
Today I've updated to latest 2016.3 and it took more than 2 hours to get all indexed for a single project.
i just purchased a license renewed then the latest update came and it wont stop indexing, this makes the ide completely useless, i even followed the guide about switching from the bundled jvm to the native one for my os, turned off non native plugins, it sped it up a little but otherwise useless for me. uses 100% of all cores and 3gb ram. can you add a feature where i can choose what i want to index or turn some indexing off? otherwise i have to switch to sublime, i cant have my employment jeopardized due to this.
My biggest problem with indexing is that it seems to happen randomly. Sometimes I have a bunch of WebStorm projects open, and for some reason, suddenly all of them decide to index.
Would there be a way to add an option to WebStorm to "only index on command" and then add a command to index? And furthermore, only index the active editor window, rather than all open instances of WebStorm? Is that something I can put a feature request in for?
This indexing thing is a freaking nightmare. Searched for so many fixes, I'm tired, going to try Sublime
"Indexing on project opening/Git branches switching/etc. is normal, and there is no way to avoid it." <- this is the issue i experience
I work with microservices - its not possible to open them all in one instance of webstorm because each has a node_modules dir, and webstorm runs out of memory (on a 16GB mbp) trying - so instead i open each in a separate instance of webstorm - this means i'm constantly opening and closing different projects... so i'm always waiting for the indexing
"You can exclude folders from indexing by marking them excluded (Mark directory as/Excluded)"
I've seen this said many times - it doesn't seem to affect the indexing tho, only the inspections - unless something has changed recently? I've also tried using scopes - but it has the same issue. If it did work, ideally i'd want to open a group of microservices in one webstorm instance - but to do that, i'd need it to open successfully once so that i could configure the directories as excluded, but it runs out of memory and crashes before there is any chance to do that.
It would be nice if the node_modules directory was ignored in all cases - you should have to specifically configure it for any kind of indexing/inspections
It is btw sometimes hard to know what directories are useful to exclude for indexing. I have hunderds of directories, and it does not show what it is currently indexing.
Indexing does have to happen very often, rendering my IDE and actually the complete computer useless for an irritating long time. Sometimes several times a day: every time something (sometimes very minor) changes in the project's versions or dependencies, or if intellij itself has an update.
Besides that, also if it is not indexing Intellij often consumes 100% cpu, and I'm force to kill it of at least once a day, after which I have to restart it (btw with a good chance that it want to reindex somewhat again).
Upgraded to 2016.3 and indexing is relentless. Starts suddenly, lasts for minutes and only pauses when a dialog is open. The problem is that the IDE didn't do it before 2016.3. If this change is intentional, its annoying as it it eats up a powerful CPU and my development environment stutters. If it is not intentional then it's a bug.
So, to summarize, it's like this: anyone who want to stop indexing, I doubt if it will ever be possible, either you take it or leave it... because JetBrains won't care or listen...what I can say is that it's not something I admire, get rid of it if you can, there are many other competitive products out there..
I agree. I've been using IntelliJ for years now, and it's *always* had this frustrating problem where it will just freeze up while you're editing and start indexing for 10 seconds. Here's an idea: DON'T START INDEXING WHEN SOMEONE'S ACTIVELY USING INTELLIJ/WEBSTORM/ETC. Is that so hard? Better yet is if it would stop indexing if you came back to the window so you didn't have to think about it.
And why is indexing taking so long anyway? What's it doing? I haven't changed almost anything, so what could it possibly be indexing?
Hi, same problem over here but I kinda understand what Elena is saying (moreover, debugging with our messages must be hard :) )
Nevertheless: would it be possible to at least add a window showing WHAT is beeing indexed? It would at least allow users to decide what to exclude (and not to do it random) + to understand the behavior and eventually report a bug more precisely, what do you think? I think it can be a hotfix that could be a first good step in the overall resolution of the disturbance in the user experience
Kid regards
Switched from IntelliJ 2016.2 to 2016.3 and got the same massive indexing. Actually, it never stops.
Now the problem is solved... Just by unchecking "Build automatically" in Settings:)
For me the same I leave all projects open untill they are finished however... copying new files that indexing again!!! It cost me a lot of time so also money :(
IntelliJ idea: What about start indexing after each run testng tests: only output report files are updating what is actually included in .gitignore file.
It looks like a solution:
Appearance & Behavior / System Settings -> Synchronization / Synchronize files on frame activation -> disable
From a post: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206592105/comments/205980969
PS: Please, correct me if I am wrong and this feature is helpful in other cases
Hmm... And what should be written in this blog post? The only way to not index certain files is excluding them from indexing. And you have 3 ways to do this:
- mark directory as Excluided
- add it to 'Ignore files and folders' list
- move it out of your project
The less files you have in project, the faster is indexing - that's obvious, I think.
But, even for huge projects, indexing shouldn't take hours - this is not something that can be treated as a normal behavior. Things that might affect the speed:
- files locates on network drives
- project files and/or caches folder scanned for viruses
- there are deep/recursive symbolic links in project path
- there are tools that are watching and constantly updating project directories/caches => such updating will cause constant index re-building
Sorry, I know absolutely nothing about microservices projects, so I can hardly advise on proper configuration
I hate this 'update indices' too, it is very annoying.... does the support have an answer?
I work with microservices too, I install a plugin and bang indexes all open microservices... 5 minutes stuck at 100% cpu
really annoying, please fix this or add a delayed indexing or "postpone indexing" button, or whatever.
I don't like it when it's indexing my complete system (Arch Linux) is not responding too well, because Storm is eating up all resources (CPU). Can the indexing be set less "agressive" in some kind of setting I don't know of?
for me removing the config directory fixed it, lost all my configs but it doesnt indexing nemore maybe when the upgrade for 2016.3 came out the paths got messed up, i determined it was indexing the home folder by hovering over the indexing icon, occasionaly you will see files that are being indexed in a popup, it be nice to make the popup not disappear when every new indexing file but to leave the popup displayed when hovered and have a rolling log
The time taken to index is the main problem for me. I've given up using any unnecessary plugins because when they update it triggers an index, but this isn't really that much of a bother for me. It's the startup that's the real killer, and here's my proposal: add the ability to use the existing index on startup, rather than re-indexing. An option called "enable indexing dialogue" that turns on a startup-time popup saying "do you want to re-index your project?" would give me the ability to indicate whether any files have changed, and therefore whether the existing index is still valid. Most of the times I start Intellij I'm actually restarting it, and therefore no change to the indexes are required. If they could be serialised to disk and reloaded into memory in an efficient manner, I could skip the startup reindex.
Yah, this usually happens everytime I run `npm link` to link to another node package locally on my system. Seems to go crazy on the node_modules folder in the project that I've linked from.
I accidentally opened my personal folder, and Pycharm started indexing all my subfolders inside that. Would be great if we can stop indexing files if we make some mistake as this.
This problem has caused me to fail one of my classes. I was on an extremely tight deadline, and PyCharm crashed, when I went to load it back up, it took over 6 hours to reindex everything. I had to give a presentation of my project for my final and I couldn't do anything but talk about what my project would be like if it would load. Which was especially embarrassing because I had been trying to convince the teacher to switch over to Jetbrains products all semester. 6 hours to index? I wonder how that works with a 8 hour workday?
- deleted - .... issue I was having with files in excluded directories showing in open resources was solved by re-importing project from scratch
I agree on this!
Been using IntelliJ for many years, and indexing is more and more often getting in the way.. Especially when working with Go, it indexes the $GOPATH, and that is usually BIG.
Also, even though I have no Python facet in the current project, "Updating Python Paths" takes forever. And IntelliJ is normally stuck on 100% for quite some time. After it is done, IntelliJ is still hugging one core. Force Quit -> full reindex using almost all possible cpu (and half a battery).
I really like the golang support in Intellij, but the indexing kills that experience.
I can see that this is not necessarily the fault of JetBrains, but it seems the plugin ecosystem together bigger source structures (goalng, npm, ...) is making the IntelliJ experience worse.
Yes, Please. This is very annoying. Everytime Intellij tries to run indexing and freezes. There's no way to get out of here unless I kill it forcibly. I've to use git with Intellij so I am stuck.
Please fix this.
That said, doing:
- File/Invalidate caches, Restart
- and marking my node_modules as Excluded
solved my problem.
But blindly excluding directories is from my point of view a workaround :)