Version 4.0.0116 - July 3, 2020
End-of-Line Characters: A number of fixes and enhancements were made to handle mixed end-of-line (EOL) sequences:
- If you open a file that has a mixture of line endings, Source Insight will retain the line endings and not change them when you save the file.
- You can use File > Save As and select a new EOL format to save and change the line endings to the selected format.
- When you open a file with mixed line endings, you will get a prompt to normalize and fix the line endings. You can choose at that point what EOL format to use. If you don't want this prompt, you can enable or disable it from Options > Preferences > Files with the option: " Ask to fix inconsistent line endings". It is enabled by default.
- You can fix inconsistent EOL formats in an open file buffer by selecting Edit > Special Edit > Normalize End Of Line Characters; you can choose the EOL format. You can also select whole lines and only process the selected lines.
- The default EOL format set in Options > Preferences > Files is used for new files that you create in Source Insight. Previously it was also used on any lines you edited in a file. Now, editing a file that you opened retains the EOL format of the original line.
- You can force all files to be saved with the default EOL format by enabling a new option in Options > Preferences > Files: "Convert to default line ending format when saving". This option is disabled by default. It converts all EOL sequences to the default setting whenever you save a file.
- You can make the EOL characters visible by selecting View > Visible End Of Line. The EOL visibility is controlled per file type in Options > File Type Options. The display formatting of the EOL marks are controlled by a new style: "End of Line". You can edit this in Options > Style Properties. For example, you can change the background color or size.
- There are 2 options for how the EOL marks are displayed. You can set the option in Options > Preferences > Syntax Decorations.
File Type Options - Reorganized the dialog box; Added "Visible End of Line" option, and changed the Screen/Printer Font buttons to use a mini-menu to select fonts.
Context Window: clicking on a local variable or function parameter highlights references within the function. Note: the highlights use the style named "Reference Highlight" from Options > Style Properties.
Context Window: clicking on the toolbar button for "Show in Relation Window" now opens the Relation window if it is not already visible.
Replace Files and Smart Rename: Files that were opened and changed by the replace/rename operation were left open as unsaved file buffers. Now the changes in those files are saved back to disk. Prior to this change, after a Replace Files operation, some changes might not be saved to files unless you used the File > Save All command.
General Display: Resizing the program window very small or narrow would cause docked panels to be closed if they got too small. This was by design, but has now been changed so the panels do not close. This avoids layout problems when moving the program window between monitors with different sizes or resolutions, or when waking from sleep/hibernation, or when connecting to a different monitor, or remote desktop.
File Compare panel: now syncs to the current selection in the Directory Compare panel, so you can use them side by side and they behave as a whole. Also improved responsiveness of the File Compare panel.
File Compare panel: the Copy Line Right/Left feature was not copying all the lines in a block if you selected a single line within the block.
Relation Windows: Changing the screen resolution, switching to a new monitor, or sometimes waking from sleep/hibernation would cause the Relation window(s) contents to disappear if the Relation Window was locked.
Relation Window: fixed a performance problem if you selected a language keyword or other common "stop" word that would cause a lot of extra work.
Overview scroller (the mini-view): fixed a bug where it might not respond to clicks if some parts of the source file were collapsed using the outlining features.
Enhanced vertical scroll bar: Added some visual updates; added an option to highlight the current function; Shift-Key plus mouse-click will scroll to the clicked position; reduced flickering of code tip window that displays while dragging the thumb control.
JSON files: fixed a parsing bug where it did not show symbols if the JSON contained an empty array within it.