Switch to a real DB for intellisense


Loading the cached database can take enough time for the user to notice that VS has frozen. We should load it in the background and provide full information as soon as it is available.


sgottfried wrote Nov 24, 2013 at 9:47 PM

Why do you PTVS guys have to solve such a topic? Visual Studio offers intellisense for core languages like C# or F#. Are you telling me you have to reinvent the wheel to offer intellisense for python and extension packages?

Zooba wrote Nov 25, 2013 at 4:57 PM

We have to reinvent the wheel for the Python side of it. We get to reuse large parts of the VS UI, but everything written for the other languages is very specific for those languages (a C# parser isn't going to help us much :) ).

This particular issue relates to a very Python specific issue (though C++ also has it, but we can't use their solution directly), in that there is a lot of code that has to be regularly reanalyzed. Statically-typed languages like C# have many more points where types are known, whereas in Python we are constantly running full program analysis, which is very expensive. (C++ has complex interactions between header files, even though it's statically typed, which leads to a lot of their scalability issues.)

The closest comparison is JavaScript, and as we discovered recently, they also have similar problems with full program analysis and performance.