Refreshing the auto complete (IntelliSense) database in Visual Studio

C++WindowsVisual Studio-2010Visual Studio-2008

C++ Problem Overview


I've noticed that the auto complete feature in Visual Studio no longer works properly once my project has reached a certain size (in my case ~4,100 lines of code). I've also noticed that performance also degrades once the number of third-party libraries increases (namespaces and class attributes and methods are no longer visible).

Is there a way of manually updating the auto completion database or create a new one for an existing project?

I am currently working under Visual Studio 2008, but I have experienced this issue in Visual Studio 2010 as well.

C++ Solutions


Solution 1 - C++

For VS2015, 2017 and VS2019 close Visual Studio and delete the .vs folder in the same folder as the solution. It contains among other things the intellisense database (it should be possible to delete only the files specific to intellisense, if we knew which ones). Note that if you delete the whole folder you will lose your window layout configurations etc.

For previous versions, close Visual Studio and navigate to your project folder. The *.sdf file there contains the intellisense database- if you delete this files and reopen your project in visual studio, it rebuilds the cache.

Deleting the sdf file solved the problem for me.

> Sometimes working with a big solution (mainly C++ projects) becomes > unbearably slow. To fix it you need to close the solution and go > delete the .SDF file. After that it returns to normal again, for about > a week, or so until you need to do it again. > > The underlying cause is that the SDF file gets fragmented and, > according to xperf profiling I've done, VS will sometimes do 20,000+ > random reads from it when changing between debug and release. Putting > the SDF files on an SSD fixes the problem but should not be necessary. > VS needs to use the SDF file more efficiently and not do blocking SDF > operations, ever.

Source: https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2255455-fix-the-delete-sdf-file-problem

Solution 2 - C++

In VS2017 I often run into this situation when I use interop to call CPP from C#, when something is changing on the CPP side.. e.g. constructor arguments.

Unload and reload the CPP project in the solution helps to solve the red lines..

Solution 3 - C++

I am using Visual Studio 2019 and have also been experiencing problems with Intellisense along with other features. I would be able to get through about 2 or 3 updates to a file before Intellisense stopped working along with code formatting.

The only way I was able to get things working again was to restart Visual Studio, I tried removing both the intellisense folder and the whole .vs folder but this didn't solve the problem, it helped but something else was going on.

I was finally able to fix this by turning off the Track changes option under

Tools->Options->Text Editor->General.

enter image description here

Solution 4 - C++

In Visual Studio 2022, open Tools -> Options -> [type in "database" in the search box] -> Text Editor -> C/C++ -> Advanced -> Recreate Database = TRUE, and then reopen the solution. enter image description here

Solution 5 - C++

For Visual Studio 2017 (and I think Visual Studio 2019 also), close Visual Studio, go into the .vs folder in your projects folder and delete all the contents apart from the .suo file, then reopen Visual Studio.

This way you can rebuild the Intellisense cache without losing your preferences.

Solution 6 - C++

After verifying daniol's results of Mar 15, I went into the .vs folder -> {MyProject} folder -> DesignTimeBuild folder and deleted the .dbtcache file and Intellisense now works "intelligently" with no loss of Window Layout or other .suo info. I suspect that the 'Diagnostics.DTBBLog' command offered by eq_ on Jan 4 did the same thing but that command seems no longer available, at least by that name.

Solution 7 - C++

Right click on the solution and press "Rescan Solution". It seemed to work for me. Screenshot of the menu with action highlighted

Solution 8 - C++

For Visual Studio 2017 (and mainly using C# projects), the following has always worked for me:

  • Open a Command Window (View/Other Windows/Command Window) [Ctrl+W,A]
  • Enter the command "Diagnostics.DTBBLog" and press enter

No need to close solution and reload etc. It was devastating to find out that for Visual Studio 2019 this command is removed...

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSebiView Question on Stackoverflow
Solution 1 - C++ConstantinView Answer on Stackoverflow
Solution 2 - C++GoodiesView Answer on Stackoverflow
Solution 3 - C++Andy BrahamView Answer on Stackoverflow
Solution 4 - C++Pavel KrassikovView Answer on Stackoverflow
Solution 5 - C++AidanView Answer on Stackoverflow
Solution 6 - C++E. EinfaltView Answer on Stackoverflow
Solution 7 - C++Digby JonesView Answer on Stackoverflow
Solution 8 - C++eq_View Answer on Stackoverflow