This is my first post in this forum. I've searched for a similar topic but I haven't found any similar.
I want to share some thoughts about the Intellij Idea index.
I mean, it's really great to have everything indexed so the IDE can quickly show you that a method was overridden by a subclass, the usages, etc...
But, there are a few annoying things that I would like to discuss and may be we come up with a improved solution.
Before starting I would like to mention that I'm a Linux user, I know that there are other OS that use a more limited file system.
As everyone knows, almost every software developer works with several version of the software. Of course most of the work is usually done in Main, but from time to time a branch is opened (with some kind of triage) and a new version is released.
Even more, there are teams (like the one I work in) that are specialized in GA versions where customer issues are solved and hotfixes are delivered to customers.
So, if we use subversion as version control system, then we will probably have different working copies with different version (branches). But.... Intelij IDEA has a single index. If something happens (lets say, a power cut, you accidentally kick the power cord, etc....) while working with one branch, the whole cache will get corrupted. And.... we will have to re-index every single branch again. This can be easily solved if we could specify an index folder per project. (I know that space can be saved by having everything together, but may be we can optimize it using hard links)
If instead we use GIT for example, we would have a single working tree and switching them from branch to branch. And... every time we switch from one branch to another, the IDE will re-index everything. This could also be solved if we modify in every branch the project to point to another cache directory (there are other more clever options of course)
Apart from that, I think that we still have other things to improve. For example, if the project is big, indexing it may take a couple of hours. And... all the developers have to wait that couple of hours. Here at work we are 50 developers in the same LAN, and we are not taking advantage of that. I mean, if someone has already indexed some particular git commit, why would I need to index it too. And if no-one has indexed completely already, may be we can split the indexing task among the different open IDE's.
This are my thoughts, I would like to here what you think about it.
And... thanks for doing the best Java IDE.