Question

I admit...I am posting this question because I still don't have an answer to my other question and thought I would take a different tact.

Can someone explain to me WHERE the values for intellisense and namespace/class/member completion works. I figured if I can drill into where/how it is deriving that data I can try to reconfigure my project so that it will resolve my namespaces correctly.

Seth

Was it helpful?

Solution

The name space and intellisense information, for the CLR, comes from a database hidden inside the VS install.

The information for the working project, is scanned and archived (I think in a file) when you open the project. It then periodically updates it as you work.

If you want the exact path, I doubt that Microsoft publishes that information.

After looking at your other question, I wanted to add that it is possible (somehow) to have Visual Studio rebuild the index information for a given project. It eludes me on how to do this right now. Have you tried this and did you end up with the same results?

Update in regards to comments:

Refreshing the cache is easy but not necessarily obvious. There are two ways to refresh the cache: 1) Go to Edit -> IntelliSense -> Refresh Local Cache and 2) Hit Ctrl+Shift+R

Source: Dan's Blog - Refreshing the IntelliSense Cache

OTHER TIPS

I don't know how it's done in Visual Studio, but here is the general approach:

Collect all the public members and methods. This is done, in case of managed libraries like those produced by VB.NET, by reflection. The documentation comes from xml files related to those libs. That's the approach for Referenced libraries. For the project you are currently working on, it just constantly parses the source files where the documentation is combined with the code.

How the namespace resolving is done depends on the language offcourse, but that is answered in your other question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top