Add Indexing Feature for Faster Navigation Between References
Feature Request
It would be great if VSCode could implement an indexing feature similar to PyCharm or WebStorm for faster navigation between references in the same project.
Problem:
-
In PyCharm or WebStorm, navigating between references in a project is extremely fast.
-
However, in VSCode, it often takes a long time to load references, especially in large projects with many files.
-
This can be frustrating when working with large codebases, as VSCode seems to continuously wait for reference loading instead of allowing quick navigation.
Suggested Improvement:
- Adding an indexing feature would significantly improve performance and provide a smoother experience when navigating between references in large projects.
what language? go to definition is handled by extensions
typescript and pyhton. go to definition starts checking on click and waits long usually. indexing feature in other apps makes it very quick especially in big projects.
Typescript language features are handled by a built-in extension but python would be handled by whichever language server you are using (e.g. pylance: https://github.com/microsoft/pylance-release)
For TypeScript, please share some example code that demonstrates the problem so I can investigate
I’m not able to share the projects. However, I can confirm that this issue occurs consistently in large-scale monorepo projects, both for TypeScript and Python. The lack of indexing means that when we click to view references or navigate to definitions, VSCode often takes a few seconds to search and load results.
In contrast, IDEs with indexing provide nearly instant responses in the same scenarios, which greatly improves the development experience. This difference becomes especially noticeable and frustrating in large codebases.
I think you're a bit too caught up on the term "indexing" . VS Code's TypeScript support already builds an advanced understanding of your entire TS project. This is more like a huge graph of relationships instead of a simple index
There can still be perf issues with this though. Sometimes it's just a simple misconfiguration of the project, while other times there's a real bug. To investigate these, we need a demonstration project so we can investigate
In that case, my suggestion would be to try navigating to some references in a large-scale TypeScript project using VSCode, and observe the response time. Then, try the same navigation steps in WebStorm (even using the trial version), and compare how quickly references are listed.
This hands-on comparison might help illustrate the performance gap I'm referring to. While VSCode does build a graph of relationships, the practical user experience in large projects still shows noticeable delays, which seem to be mitigated in IDEs with more aggressive indexing or caching strategies.
There are lots of people using VS Code with large Typescript projects without issue. Again, we need a specific project that demonstrates the issue so we can investigate the specific problem with your project
This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!