I have experienced some problems with this kind of autocomplete in a JS project.
-Two methods shouldn't have a similar name, so you try to avoid it, possibly leaving you with a worse abstraction.
-You usually need to have all files open or at the same location, so modularization is discouraged.
-Libraries are usually not picked up by it.
-If you make a spelling error on the first usage you now have this spelling error everywhere.
Naive autocomplete is much better than none, but it's still not in the same league as context sensitive autocomplete.