Many new features have been added to version 4 of Source Insight. Here are some of the highlights:
Improved language parsing for C/C++, C#, Java, and other languages.
Language support now built-in for Objective-C, Python, PHP, XML, and JSON files.
Imports symbols from external sources, such as .NET assemblies, Java JAR files, and Include files. Use Project > Import External Symbols to do this. See: Importing Symbols from Libraries.
File Window tabs appear across the top of the main application window. Right-click on them and select Window Tab Options to change the sort order.
Collapsible code blocks. You can control the position and appearance by selecting Options > Preferences: Windows and refer to the Outline and Nesting section. See: Outlining and Collapsing Text.
Code beautifier that works on curly brace languages, such as C/C++ and C#. See: Code Beautifier.
New User Interface with Panels and Visual Themes. See: Visual Themes.
New Overview scroller bar is positioned like a scroll bar, but gives you a bird's eye view of your file. It works a little different than a scroll bar, but you can use it to scroll. It can show you the boundaries of the current function and help to orient you within long functions. See: The Overview Scroller.
New enhanced vertical scroll bar shows more details within the scroll bar. Right-click on it and select Scroll Bar Options to play with its settings. See: Scroll Bar Options.
Multiple window layouts you can switch quickly. Use either View > Load/Save Layout, or click one of the layout toolbar buttons to quickly switch between 4 different layout presets. See: Saving Window Arrangements with Layouts.
Code Snippets - define templates of code to insert. Select Tools > Activate Snippet Window to show the Snippet panel. Snippets are intended for boiler plate text the you want to insert. You can put text variables in the snippet text that get expanded when you insert the snippet. For example $date$ gets replaced with the current date. See: Code Snippets.
Improved bookmarks - book marks are now stored persistently and they are stored as a line offset from a nearby function or class name. Each project has its own book mark list. See: Bookmarks.
Improved Relation window - Reference finding is faster. There is also a new relation type for functions: "calls and callers". This shows both in the same outline or graph. You can also copy the graph view to the Window clipboard. See: Relation Window.
Maintain backup files per-project, and easily compare with backup versions. Use Tools > Compare with Backup File to quickly compare the current file with a backup version. You can also use the File > Open Backup File to open an older version of the current file. See: Backup Files.
Better regular expressions - now supports Perl-compatible and multi-line expressions. Most places that let you enter a regular expression now have a list where you can select the type of RegEx. There are regular and "multi-line" versions of the classic Source Insight regex, and Perl compatible regex. The multi-line regex types basically match a new-line with the dot (.) character. So for example, .* would match the whole file. And "start.*end" would find everything from "start" to "end" in the file, even across line breaks.
Better support for large projects. The virtual memory usage has been improved so that very large projects can fit better into the memory space. Version 3 could suffer from a file read error on the project index files for large numbers of symbols, leading to project corruption. This has been eliminated.
Easier project management with multiple users and machines by using a Master File List. A project can have a MFL, which can be a part of your source code repository and shared with other people. It is a simple text file that lists all the files (and/or directories) in your project. See: Using a Master File List.
Export project source to HTML site. You can use this to export all the files to HTML versions that contain most of the same syntax formatting you see in Source Insight. This basically builds a web site that can used to browse the project source code. See: Export Project To HTML.
Browser Mode - Source Insight behaves as a read-only code browser. In this mode you cannot edit your files. Simply clicking on identifiers will jump to definitions like in a web browser. Press Backspace to Go Back, and press Space with the cursor in a symbol name to jump to its definition. Hold down CTRL while clicking to make a regular selection. See: Browser Mode.
Symbol Window pane attached to each source file window now has a collapsible outline view.
All new configuration system which keeps all your settings in XML files.
Many improvements all over the program!