Source Insight – version 4.0.0130

Source Insight

Version 4.0.0130 - August 21, 2023

Fix: C++ Scoped enums (enum class and enum struct) were not handled correctly by Lookup References and Jump To Definition.

Fix: C++ using enum statements were not recognized.

Fix: C/C++: Some forms of declaring pointers to functions where not recognized.

Fix: C/C++: When there was an extern declaration of a function inside another function, using Jump To Definition of the declared function did not work.

Fix: Import External Symbols: Importing from the INCLUDE path was truncating the path.

Fix: Using custom RegEx parsing with multiple patterns could record incorrect line positions of functions and symbols. This could cause the symbol pane on the left to show the wrong current function.

Fix: Context Window: Selecting an identifier and choosing Show in Relation Window was deactivating the Context window.

Fix: Crash could happen if re-indexing the symbol database and user cancels the re-index operation.

Fix: In some cases after re-parsing a project, the symbol database was not getting updated.

Fix: XML parser was not handling comments with embedded quotes correctly.

Fix: Popup toolbar now uses the same background color as the main toolbar.

Fix: Buffer overrun bugs fixed when typing in some panels to filter the list of symbols or files.

New: You can lock the main toolbar by selecting View > Toolbars > Lock Toolbar

Files are Read-Only

Symptom: Files you open in Source files are read-only.

In Source Insight, a file is read-only in the following cases:

  1. The file is part of a read-only project.
  2. The file is stored in a Backup folder.
  3. Windows reports that the file has the read-only attribute.
  4. The file is part of an "import" project created by selecting Project > Import External Symbols (for example, C/C++ standard header files).
  5. The file is part of a project that is also open in another running Source Insight instance.

Try this: select Project > Close Project. Then open the file and see if it is read-only. Note the file name is displayed with a ! mark if the file is read-only. If the file becomes read/write, then the project must be read-only.

In Source Insight, any file that is part of a read-only project is shown as read-only. A project is read-only if the project data file that ends in the .siproj extension is read-only. For example, if your project is named ABC, then locate the file "Documents\Source Insight 4.0\Projects\ABC\ABC.siproj" and check if it is marked read-only in Windows Explorer.

A project is also read-only if it is open in another running instance of Source Insight. Run Windows Task Manager and make sure there isn't another instance of Source Insight running.

Also, files that are stored in a Source Insight Backup folder are read-only. For example: if your project is called ABC, then the backup folder is "Documents\Source Insight 4.0\Projects\ABC\Backup". Source Insight treats those files as read-only.

Otherwise, if the file is read-only in Source Insight, then Windows must be reporting to Source Insight that the file has the read-only attribute for some reason. Please check if there is a problem with drive mounting, or the user access in Windows.

Source Insight – version 4.0.0128

Source Insight

Version 4.0.0128 - April 28, 2023

Fix: The Lookup References window would not appear if the input cursor was on an blank line.

Fix: Special Edit > Upper/Lower/Toggle Case could occasionally crash.

Fix: When showing visible end-of-line marks, and using the Highlight-References feature, some end-of-line marks would rarely appear incorrectly with the "highlight reference" style formatting.

Fix: C++: Was not detecting function trailing return types.

Fix: Parse cache files were being bypassed in some situations during project-opening, resulting in slower performance.

Fix: The Ditto clipboard app was not working with Source Insight.

Fix: Misc. fixes to how some panels open and close when you activate them with a keyboard command.

Change: Toolbar buttons now activate various panels and move the input focus to the panel instead of just toggling them on and off.

Change: When a file is loaded with mixed end-of-line characters, you are prompted to fix it. Now there is a check box in the prompt to enable this automatic prompt or not. You can also set this prompt option in Options > Preferences > FilesAsk to fix inconsistent line endings.

Change: The bottom status bar now shows the current file's end-of-line character format in the lower right. You can double click or right-click on it to open the Normalize End Of Line command.

New: Reset Toolbar Layout (on View > Toolbars menu) resets the main toolbar layout to the default layout.

New: File Compare window: You can right-click on the left or right file and select Copy All Differences to Left or Copy All Differences to Right to copy all text differences to either left or right, making both files the same. This leaves change marks by each change in the main file window. This is undo-able.

Source Insight – version 4.0.0126

Source Insight

Version 4.0.0126 - November 28, 2022

Fix: Crash: Regression bug introduced in 4.0.0125 could cause a crash when using the Jump To Definition or Jump To Prototype commands when only white space or a whole line was selected.


Source Insight – version 4.0.0125

Source Insight

Version 4.0.0125 - November 22, 2022

Fix: C# expression-bodied member functions were not recognized.

Fix: C/C++ Preprocessor conditional values using hex numbers were not working: eg: #if ABC < 0x100

Fix: C++ and C#: various parser fixes.

Fix: Some symbol lookups were not working.

Fix: Limit recursive symbol lookups for symbols that have direct or indirect recursive definitions.

Fix: Crash when adding a large number of Edit Condition symbols to a project.

Fix: Performance improvement when a project contains a large number of conditional values set by Edit Condition.

Fix: Better error handling for exceeding limits with large projects.

Fix: In the Context window and the File Compare window, the overview would not close if you right-click on it and select 'Hide'.

Fix: Pasting text now ensures the resulting new lines are scrolled into view.

Change: The Context window now shows the definitions of symbols selected in the File Compare window.

Change: The Relation window now shows results of symbols selected in the File Compare window.

Change: Performance improvement synchronizing projects by avoiding unnecessary project data writes.

Changes Minor changes to some toolbar buttons to work better on dark backgrounds.

Change: Source Insight Macro Language: The == and != operators now compare numbers differently. If both operands are numeric decimal or hex, then they are compared as numbers instead of as strings. The relational operators, such as <, <=, >, and >= already do this.

Deactivating the License

When you deactivate the license, it means that Source Insight can no longer be used on the computer. You are free to activate it again on the same computer, or a different computer.

Make sure you save the license serial number if you want to activate it again. Once you deactivate it, the license information is deleted from the computer.

To deactivate the currently installed license:

Run Source Insight. If it is already running, select Help > Manage LicenseIn the License Management window, select the option to deactivate the license on this machine:

 Click Next and click Yes to confirm you want to deactivate it:

The following message will appear to tell you the license has been deactivated:

After you click OK, the License Manage window appears as though you have no license active, and you can either enter the license serial number again, or import a license file, or simply exit the program. The option to start a 30-day trial now will not work if you already used a trial license before.


Deactivating the License from the Command Line

You can also use the following command line to deactivate the current license instead of using the dialog boxes.

sourceinsight4.exe -reset-license

This will deactivate and delete the license on the computer. The next time Source Insight runs, it will prompt to activate the license. This option is effectively the same as selecting Help > Manage License and selecting "Deactivate license". If a network connection exists, it will inform the license server that the license has been deactivated.

Importing a License File

If you received an offline license file from us, use these instructions to import that license file into Source Insight. The offline license file lets you activate the license without a network connection.

We email the license file to you as an email attachment. Save the attached license file to your local drive or somewhere on your internal network that your computer can access.

Importing the License File

Run Source Insight. If it is already running, select Help > Manage LicenseIn the License Management window, select the option to import a license file:

 Click Next and navigate to the license file you just saved, and open it.

If the license file is valid, it will be imported and your copy of Source Insight will now be activated. You should see this message:


Source Insight – version 4.0.0124

Source Insight

Version 4.0.0124 - February 21, 2022

Fix: Improved auto-completion when typing the name of a local variable or function parameter. Parameters and local variables appear first in the list.

Fix: Relation Window could cause the program to pause for several seconds if it was processing an identifer that had 1000s of matches.

Fix: Import External Symbols - Import from INCLUDE path did not support Unicode paths, and could crash if the INCLUDE environment variable was undefined.

Fix: Python: Function return annotations using the -> syntax was not parsed correctly.

Fix: Python: Relative imports were not recognized correctly.

Fix: Python: Renaming a python file now causes a re-parse of the file.

Fix: C++: was not able to jump from a member function declaration inside a class to the member function definition outside of the class if the definition was in the same file as the class declaration.

Fix: C++: was not recognizing variable declared in an 'if' statement.

Fix: C++: range-based 'for' statements: the iterator variable's auto type is now recognized.

Fix: C++: was not recognizing some declarations that used attributes such as [[deprecated]] and others.

Fix: C++: improved resolution of types when smart pointer template classes are used, such as unique_ptr<>.

Fix: C#: the 'ref' and 'readonly' keywords are now parsed correctly.

Fix: C#: foreach statements: the iterator variable's type is now recognized.

Fix: Sometimes using Jump To Definition would jump, then jump back to the original location.

Fix: Project Report could crash.

Fix: Add and Remove Project Files: You can type in a wildcard filter, such as *.h and press Enter to filter the files that are to be added. This was only working in the project's root directory. It did not respect the filter if you added a whole tree including subdirectories.

Fix: Makefile parsing: now recognizes 'export' keyword on definitions.

Fix: Style Properties: The Expanded character spacing format is not supported if you are using a monospaced font with ligature combinations. A spacing bug was fixed if you combined these options.

Change: Project Report has a new Info... button which invokes the new Project Info command. It displays statistics about the current project, including any errors that were logged.

Change: You can choose the color of visible tabs and spaces by editing the "Visible tabs and spaces" style in Options > Style Properties. You must enable that mode with View > Visible Tabs and Spaces to see them.

Change: New option in Tools > Reformat Source Code: In the Layout and Flow tab: "Keep '} else' on same line". This keeps the 'else' keyword on the same line as the preceding closing } brace. This allows formats like this:

if (c) { 
} else {

Change: better detection of too many symbols or index entries in a project.

Change: revised some of the default visual theme colors.

Change: updated the code signing certificate on the sourceinsight4.exe file and the installer file.

Change: A new Advanced Option was added to disable the use of memory-mapped files for text files and some data files. This may be helpful for some users that run with file system extensions or encryption which is not stable with memory mapped files. To disable memory mapped files, hold down CTRL while selecting Options > Preferences. The Advanced Options will appear. Tick the options "Disable memory mapped files" and "Disable memory mapped database files". Performance is reduced a little. Background: Some users have reported an issue where Source Insight freezes and cannot be closed even with Task Manager. Using dump files kindly provided by some users, we have traced this to the system freezing inside the WinAPI CreateFileMapping. The exact reason is unknown, but the effected users were using a file system encryption product. If anyone has more information or thoughts on this subject, please contact us

Changing the Source Insight Data Folder Location

Source Insight stores its project and configuration data files by default in the "Documents\Source Insight 4.0" folder, where "Documents" is the Windows user Documents folder. Each Windows user account has its own Documents folder.

If your Windows user Documents folder has been relocated to a remote drive, for example on OneDrive, we recommend that you move the Source Insight data folder to somewhere on your local drive.

The Source Insight project data files should be on a local drive for best performance and reliability.

To place Source Insight files in a different location, select Options > Preferences > Folders and change the Main User Data Folder to a new location that is in a local, non-network folder. When you edit the main folder item, the other folders items change automatically to be sub-folders of the main folder. In this example, we created a folder "C:\Source Insight 4 Data" and set the main folder there.

Note: If there are multiple users on the PC, you will need to specify a different folder for each user. The folder options in Source Insight are stored separately for each user.

When you use the Folder Options dialog, Source Insight will ask you if you want to move the contents of the folders too.

If you are having problems and cannot run Source Insight to get to the Folder options dialog, you will have to edit the Windows Registry. Run regedit.exe and navigate to HKEY_CURRENT_USER\Software\Source Dynamics\Source Insight\4.0\Paths. You will see entries there for each folder option.

Edit each path string to point to an existing location that is in a local folder. If you edit the registry directly, the folder contents won't be moved. You will have to copy the contents manually.

Source Insight – version 4.0.0120

Source Insight

Version 4.0.0120 - November 12, 2020

New: Added support for monospaced programming fonts that use ligatures for special character combinations. Example fonts are Fira Code and Jet Brains Mono. There is also a display preference that enables font ligatures. It is enabled by default, but you might want to disable it to show a font without its ligatures. To access the option, select Options > Preferences > Display and set the item "Enable font ligatures for character combinations" to your preference.

Note that Source Insight has had a feature for a long time that substitutes certain operators with symbols. For example -> is replaced with  . To control it, select Options > Preferences > Syntax Decorations. The syntax decorations can be used in combination with the new font ligature support.

Also note that some fonts use make use of the font leading area. Source Insight has an option that reduces the font leading in order to condense more lines vertically.  See Options > Preferences > Display > Spacing > "Smaller line heights". Disable that option if you are using a font that has glyphs that extend into the leading; otherwise the top or bottom of some characters might be clipped out.

New: When a file changes externally, the Reload File prompt appears. There are new buttons in the prompt: Yes and View reloads the file and activates its window.  Yes and Compare makes a backup of the current file buffer, reloads the file, and uses the File Compare panel to show the differences. If you don't want to keep the changes, you can restore from the backup file. See the next item.

New: File > Open Backup File there are new buttons: Restore File loads the selected backup into the current file buffer. The buffer remains unsaved, and it is possible to undo. Compare opens the File Compare panel to show the differences between the current file buffer and the selected backup file. Tools > Compare With Backup also has a similar Restore File button.

Fix: Source Insight could pause for several seconds periodically if you have many project files on a remote drive. The pause was caused by the Project Folder Browser panel. The Folders panel now populates in a separate thread. 

Fix: Source Insight could sometimes prompt to reload a file that changed, even if the file didn't change. It was not consistent, but this only would happen if the file was on a network drive.

Fix: Reformat Source Code: statements using a C-style cast caused an incorrect line break after the cast.

Fix: Searching for a long string could crash.

Fix: Misc smaller bug fixes.