Source Insight uses a synchronization process to keep files and symbols up to date with respect to its project databases. This is helpful when files are edited without using Source Insight. For example, you may be using a source control system that updates files on your machine, or you may have files that are machine generated by your build process. When that happens, Source Insight has to re-parse those out-of-date files to bring the Source Insight project up to date. Normally, this is done automatically in the background for you, but you can do it manually by using the Project > Synchronize Files command.
The synchronize process ensures that the entire project is up to date. It scans each file in the project and updates the symbol database for each file that has been modified since Source Insight had the file open last.
The synchronizing process can also optionally add and remove files automatically as new files appear, or disappear from directories. The options are set in Options > Preferences: General Options. See: General Options.
You can also use a Master File List to control what files are in your project. If you use this option, then the synchronization process uses the Master File List to add or remove files as needed. See: Using a Master File List.
You can synchronize a project in one of two ways:
The default: If the "background synchronization" option is enabled in Options > Preferences: General, then synchronizing the project will happen in the background while you continue to edit in Source Insight. See: General Options. You basically don’t need to do anything.
You can run the Synchronize Files command, which synchronizes the project on demand. See: Synchronize Files.
Normally, if you open a file that has been modified since Source Insight had it open, the symbol database is updated automatically when you open the file. By automatically synchronizing, the update is transparent to you. However, if a symbol is moved from one file to another, you may find that Source Insight loses track of where the symbol is, unless both files are in sync with the project. In addition, if new symbols have been defined, Source Insight won't know about them until the containing file is synchronized.