Visual Lint 4.5 is the latest version of Visual Lint, superseding Visual Lint 4.0. As a minor update, it will also accept existing per-user Visual Lint 4.0 licences; Visual Lint 1.x, 2.x and 3.x licences must however be upgraded to work with this version.
The following changes are included:
Added support for the analysis of Green Hills MULTI projects to VisualLintGui and VisualLintConsole.
When a project file within the solution/workspace source tree is changed externally, VisualLintGui will now prompt to reload it. If VisualLintGui is minimised it will flash its window on the taskbar and delay showing the prompt(s) until it is restored.
Accelerated the loading of Eclipse workspaces.
The Eclipse plug-in now writes status text to the Status Bar where appropriate.
Renamed the Eclipse plug-in file (formerly com.riverblade.visuallint.jar) to differentiate between 32 bit (com.riverblade.visuallint.win32_x86.jar) and 64 bit ( com.riverblade.visuallint.win32_x86_64.jar) builds.
The Eclipse plug-in now shows the correct version in the "About Eclipse Platform Plug-ins" dialog within the IDE.
The Visual Studio and Eclipse plug-ins now monitor files within the loaded solution/workspace for external changes in the same way as VisualLintGui. [18.104.22.168]
When a Visual Studio solution is loaded, its version is now determined by the projects within it rather than its own version fields. This is necessary as in some cases when Visual Studio 2012/2013 converts a solution it does not update the version of the solution file. [22.214.171.124]
If a Visual Studio solution contains projects for other versions of Visual Studio (e.g. a VS2013 solution with VS2012 and VS2010 projects), the version of each project will now be taken into account when determining which PC-lint indirect files to use. [126.96.36.199]
Added support for Green Hills project files with nested subprojects. [188.8.131.52]
The _TCHARMapping property is now read when parsing CodeGear C++ projects. [184.108.40.206]
Added support for the analysis of Atmel Studio 6.2 projects to VisualLintGui, VisualLintConsole and the Visual Studio plug-in. [220.127.116.11]
Added support for the analysis of Altera Nios II EDS Eclipse projects to VisualLintGui, VisualLintConsole and the Eclipse plug-in. [18.104.22.168]
Added support for the analysis of Keil µVision 4 projects to VisualLintGui and VisualLintConsole. [22.214.171.124]
Added support for the analysis of IAR Embedded Workbench projects to VisualLintGui and VisualLintConsole. [126.96.36.199]
Added a "Use VS2012/VS2010 system headers for compatibility with PC-lint 9.00l or earlier" option to the "Analysis Tool" options page. When enabled (the default) Visual Lint will attempt to use the system headers for Visual Studio 2012 or 2010 instead while analysing VS2013 projects with these PC-lint versions. [188.8.131.52]
Added details of PC-lint 9.00l messages 29, 94, 169, 330, 486, 488, 489, 491, 1112, 1113, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1723, 1751, 9063, 9064 and 9067-9166 to the PC-lint 9.0 message database. Also updated the entries for 165, 170, 312, 435, 436, 516, 665, 686, 690, 836, 838, 845, 905, 967, 1096, 1102, 1104, 1111, 1119, 1417, 1419, 9011, 9022, 9033 and 9066. [184.108.40.206]
Updated various PC-lint indirect files as a result of the public release of PC-lint 9.00l. [220.127.116.11]
The readme and licence files within the installer now show the full build version (e.g. "18.104.22.168") rather than just the major/minor version.
Fixed a bug in the handling of analysis configurations by VisualLintGui and VisualLintConsole. [22.214.171.124]
Tweaked the layout of PC-lint include folder (-i) and library folder (+libdir) directives within generated project indirect ("project.lnt") files for improved readability.
The Analysis Status Display "Delete Analysis Results" command no longer regenerates the analysis queue. As a result, any active analysis tasks not directly affected by the operation will no longer be interrupted.
The FxCop /gac ("Search Global Assembly Cache for missing references") option is now enabled on the FxCop command line by default. If required, it can be disabled from the new FxCop Configuration Dialog.
If the configuration to analyse is not specified on the command line, VisualLintConsole will now choose one. [126.96.36.199]
Added support for the analysis of NVidia CUDU C/C++ files (i.e. those with .cu and .cuh file extensions). [188.8.131.52]
If a Visual Studio PCH generation file (e.g. stdafx.cpp) is excluded from analysis, a per-file analysis of the project will automatically fall back on non-PCH analysis. [184.108.40.206]
If the generation of a PC-lint .lph (precompiled header object) file fails for any reason the remaining files within that project will now be analysed using non-PCH analysis. [220.127.116.11]
Improved the handling of IncrediBuild analysis tasks in VisualLintConsole. [18.104.22.168]
Added "Show all issues with this ID", "Hide all issues with this ID" and "Reset Display Filter" context menu commands to the Analysis Statistics Display context menu.
Duplicated analysis issues are now always filtered out. Removed the "Filter out duplicated issues" option on the Options Dialog Displays page in consequence.
Added optional "Rule" columns (shown or hidden via context menu commands in the two displays) to the Analysis Results and Statistics Displays for use with PC-lint MISRA analysis. Note that the contents of these columns will only be populated when the solution/workspace is reanalysed - thereafter the mapping between PC-lint message no. and MISRA rules will be cached in the registry. [Visual Lint Professional and Enterprise Editions]
When the Configuration Wizard is used to configure for PC-lint analysis, the new "Rule" columns in the Analysis Results and Statistics Displays are shown or hidden depending upon whether one of the MISRA indirect files (au-misra.lnt etc.) is referenced within the PC-lint analysis configuration. [Visual Lint Professional and Enterprise Editions]
Category issue assignments can now be changed while a solution/workspace is open.
Added an accelerator for the "Perform Manual Analysis" command in the Analysis Status Display context menu. [22.214.171.124]
Added "Copy Full Path" and "Open Containing Folder" commands to the Analysis Status Display context menu. [126.96.36.199]
Added an optional "Rule" column to file analysis reports for use with PC-lint MISRA analysis. Note that this column will only be shown if the solution/workspace is reanalysed if the MISRA "Rule" column is shown in the Analysis Results and Statistics Displays. [Visual Lint Professional and Enterprise Editions]
Added support for PC-lint MISRA rules to CSV and user defined exported data formats (the latter via the new $(Rule) variable). [Visual Lint Professional and Enterprise Editions]
Reduced the memory usage of VisualLintConsole when the /exportformat switch is used to export large data sets.
Fixed a dialog parenting issue in the Eclipse plug-in.
The "Back" button in the Configuration Wizard "PC-lint Warning Level" page now correctly returns to the "PC-lint author recommended checks" page.
The variable $(SolutionExt) is now expanded while parsing Visual C# (.csproj) project files.
When VisualLintConsole determines that the analysis of a solution/workspace has been completed, it will now wait until any project include dependency tasks have completed before exiting to ensure that any files which should be marked as stale will also be reanalysed. [188.8.131.52]
When a solution/workspace is loaded, the path which will be monitored for subsequent file changes now takes into account the locations of the projects within it. [184.108.40.206]
Fixed a bug which prevented the Message Lookup Display from being configured correctly in x64 builds of the Eclipse plug-in. [220.127.116.11]
VisualLintGui now declares itself as DPI aware to prevent DPI virtualization. [18.104.22.168]
Fixed a bug which was causing the "Auto-select Project" checkbox in the Analysis Status Display to be incorrectly sized in Visual Studio 2010, 2012 or 2013 on systems with a high DPI setting. [22.214.171.124]
The "Copy to clipboard" and "View Analysis History" commands in the Analysis Status Display context menu are now correctly disabled when no solution is open. [126.96.36.199]
Removed the erroneous "Display Filter | Show only issues with this ID" command from the Analysis Status Display context menu. [188.8.131.52]
When the active display filter is changed any code editor markers present in open source files will now be refreshed. [184.108.40.206]
Corrected the text of the VisualLintConsole help screen (the documentation for the /excludeproject switch was missing a delimiter). [220.127.116.11]
Fixed an analysis results caching issue which could affect memory usage in solutions/workspaces with a large volume of analysis results. [18.104.22.168]
Added statusbar prompts and tooltips respectively to those VisualLintGui main menu and toolbar commands which did not have them. [22.214.171.124]
Fixed a potential crash when Visual Lint was turned "On" in the Visual Studio or Eclipse plug-ins via the "Product Enable" command on the toolbar. [126.96.36.199]
Fixed a bug in the Analysis Results Display which caused analysis results to remain displayed after a "Delete Analysis Results" operation. [188.8.131.52]
When VisualLintGui reloads a file in response to an external change any code editor markers will now also be reloaded. [184.108.40.206]
The current selection will now be preserved VisualLintGui reloads a file in response to an external change. [220.127.116.11]
Fixed a project naming bug in the Green Hills project file parser. [18.104.22.168]
When a property (e.g. preprocessor symbols) within a Visual Studio project is changed the Visual Studio plug-in will now detect the change when the project file is saved. [22.214.171.124]
Fixed a potential bug in the display state of toolwindows within the Visual Studio plug-in during the startup of the IDE. [126.96.36.199]
Fixed an intermittent crash which could occur when the "Global Display Filter" context menu commands in the displays were executed. [188.8.131.52]
Fixed a bug which could cause system include folders to be read incorrectly from Visual Studio 2012/13 projects which use the Intel C++ Compiler. [184.108.40.206]
Fixed a bug in VisualLintGui which was preventing accelerators from being translated correctly by the main frame window when no MDI windows were open. [220.127.116.11]
Fixed a bug which could cause the Visual Studio plug-in to miss changes to the active project configuration. [18.104.22.168]
Fixed a bug in the generation of PC-lint analysis command lines for files analysed with the -pch option. [22.214.171.124]
When a PC-lint analysis task corresponding to a PCH generation file (e.g. stdafx.cpp) executes, the corresponding PCH object (.lph) file is now explicitly deleted before PC-lint is invoked. [126.96.36.199]
Fixed a bug which was preventing custom PC-lint issue categories from being loaded correctly. [188.8.131.52]
Fixed a bug in the VisualLintGui code editor "Open Referenced File" context menu command which could cause header files located via project additional include folder properties to fail to be located. [184.108.40.206]
Adjusted the priority and timing of IncrediBuild analysis results parsing tasks. [220.127.116.11]
Fixed a bug which prevented header files from being analysed with the Google C++ Style Checker (cpplint.py). [18.104.22.168]
Corrected the URL of the "more information" link on the "Analysis" Options page. [22.214.171.124]
Various minor optimisations to the solution loading process. [126.96.36.199]
Fixed a bug which could cause a file open operation to fail within the Visual Studio plug-in. [188.8.131.52]
Fixed a bug which could cause files which are excluded from analysis (or files within projects which are excluded from analysis) to be included in background analysis when a file is saved. [184.108.40.206]
Fixed a bug in the handling of solution/project specific PC-lint analysis configurations which could cause the warning policy ("options.lnt") indirect file configured for a specific solution or project to be ignored in certain circumstances. [220.127.116.11]
Fixed a bug in the Analysis Results Display which caused the "Show issues in header files" checkbox to be incorrectly shown if the Google C++ Style Checker (cpplint.py) was the active analysis tool. [18.104.22.168]
PC-lint MISRA messages in the range 9100-9199 are now correctly categorised as Elective Notes. [22.214.171.124]
Modified the Visual C++ 2010/2012/2013 project (.vcxproj) file parser for compatibility with project files generated by third party applications which have <PlatformToolset> elements with incorrect capitalisation (MSBuild is case sensitive, but apparently Visual Studio is more tolerant in this area). [126.96.36.199]