Version History
Version 1.5.10.83 (6th May, 2008)
- Added update checking, via an Installaware scheduled task. Note that the product update
check is scheduled from a checkbox on the completion page rather than the InstallAware
default of on the next login. Start menu entries for manually defining the update
schedule and manually checking for updates have also been added.
- Improved the prompt shown by the Configuration Wizard when the PC-Lint installation
folder cannot be located.
- If a background analysis task causes a manual analysis task to abort, the manual analysis
dialog will now be closed.
- Corrected a validation bug in the Configuration Wizard [IMS ID 261].
- Replaced std::sort with std::stable_sort to ensure deterministic secondary sort ordering
in the Analysis Status and Results Displays.
- If an ATL exception occurs during the solution/workspace loading process, a message box
will no longer be shown - the warning will instead be logged to the status window.
- Inherited property sheet (.vsprops) file specifications of the form ".\FolderName" are
now parsed correctly (applicable to VS2002, VS2003, VS2005 and VS2008 IDEs).
- Preprocessor directives defined within inherited property sheet (.vsprops) files are now
included within the returned project configuration (applicable to VS2002, VS2003, VS2005
and VS2008 IDEs).
- Corrected the ordering of additional include folder specifications inherited from a
.vsprops file.
- When a lint issue is double clicked on in the Analysis Results Display under Visual C++ 6.0
or eMbedded Visual C++, the selected line is now more appropriately positioned within the
code editior.
- ".\" additional include paths are no longer filtered out when project.lnt files are written.
- If the "LINT" environment variable is set, Visual Lint will now issue a warning in the
status window and clear it within the process (this change is necessary to prevent the injected command line parameters causing analysis
failures. If required, the same effect can be achieved via the "Custom Analysis Options"
control on the "Command Line" options page).
- Corrected a bug in the Analysis Results Display which was preventing the "Go to Reference"
command from working if the selected item was the first item in the display.
Version 1.5.9.79 (27th February, 2008)
- Added (at customer request) support for additional includes within inherited property
sheets (.vsprops files) under VS2002/VS2003/VS2005/VS2008.
- Improved diagnostics when loading Intel C++ compiler (.icproj) projects under VS2002,
VS2003, VS2005 and VS2008. This is necessary as some versions of the compiler suite
have significant flaws in their integration of the compiler into the Visual Studio
automation model which affect their compatibility with Visual Lint.
- The "Projects" Analysis Configuration page now handles solution folders correctly.
- Fixed a crash in the Analysis Results Display.
- Visual C++ 6.0 project (.dsp) files containing only one project configuration are
now parsed correctly.
- Fixed a bug which could cause project analysis comand lines to be incorrectly
generated if the project.lnt file failed to generate.
- Corrected a bug in the parsing of intermediate file folders within Visual C++
projects.
- Fatal errors during whole project analysis should now be reported correctly.
- Fixed several potential resource leaks.
- regsvr32.exe is now used for registering VisualLint.dll by the installer instead of
RegisterDll.exe, which is now only provided for diagnostic purposes on Windows Vista.
- Corrected a bug in the handling of upgrade keys.
- Corrected minor bugs in the installer build.
Version 1.5.8.77 (17th December, 2007)
- Updated the project to build under Visual Studio 2008 rather than Visual Studio .NET 2003.
In consequence, the runtime library files packaged within the Installer are now those
for Visual C++ 9.0 rather than 7.1.
- Added a workaround for a bug in the VS2008 RTM implementation of the
VCProjectEngineLibrary::VCConfiguration Visual C++ automation interface.
- The "icon" control in the Lint Category Properties dialog now paints high-colour icons
correctly.
- Updated the readme file and Getting Started Guide packaged within the installer.
- Filenames containing spaces will now be enclosed in quotes when written to project.lnt files.
- Escaped quotes (""") found in additional include folder definitions within VS.NET
project files will now be correctly converted back to nonescaped quotes before writing to
the corresponding project.lnt file.
- Corrected a bug in the project.lnt file writer which was causing the length of quoted
relative pathnames containing spaces to be incorrectly reported and thus truncated when
written to the file.
- Fixed a bug in the resolution of relative include paths within project.lnt files.
- Fixed a crash in the third party colour picker control used in the Category Properties Dialog.
- Reduced the size of the icon shown in balloon tips from 32x32 to 24x24.
- The Riverblade logo in the About Box now has a transparent background.
- Added a "Go to Reference" command to the context menu in the Analysis Results Display.
Activating the command opens a submenu containing the locations specified in any following
informational messages 830 and 831 ("Reference/Location cited in prior message).
- Improved the method used to check for the existance of preprocessor definitions in the
project.lnt file writer so it will not incorrectly identify _AFX_DLL as being defined
when a symbol containing it as a substring (for example "_HYPER_AFX_DLL") is found.
- Fixed a case dependency issue in the checking of project types.
- If runtime type information (RTTI) is enabled in a project configuration (/GR compiler
switch), the _CPPRTTI macro is now automatically defined in the corresponding project.lnt file.
- If native wchar_t types are enabled in a project configuration (/ZC:wchar_t compiler switch),
the _NATIVE_WCHAR_T_DEFINED macro is now automatically defined in the corresponding project.lnt
file.
- Improved the handling of per file configuration properties. In particular, file specific
preprocessor directives will now be correctly used during whole project analysis under
VS2002 onwards.
- Corrected a bug which was preventing "ItemPropertyChange" events from being recognised under
VS2005.
- When the "excluded from build" property of a file is changed (VS2002 onwards) the new state is
now written to the solution options file. This ensures that the status is persisted when the
solution is reloaded.
- Improved support for per file preprocessor symbols during single file ("unit checkout")
analysis when hosted in VS2002 and later versions.
- Files which are excluded from background analysis are longer automatically re-analysed
when saved.
- Corrected a bug in the parsing of whole project analysis results.
- Fixed a potential deadlock when the "Delete Analysis Results" command is activated during
whole project analysis.
- The Analysis Results Display now checks to see whether the analysis results have changed
before reloading its contents.
- The default value of the "Auto-show the Analysis Results Display when analysis results are
available" option is now off, as the Visual Studio EnvDTE::Window::Activate() automation
interface command used to implement this functionality can cause problems with the Visual
Studio editor.
- Fixed a bug which could prevent project.lnt files being written correctly if one or more
projects was unloaded.
- If the active platform is a non-C++ platform such as "Any CPU" the Configuration Wizard will
now ignore it when determining which platforms to display in the "Includes" page.
Version
1.5.7.74 (29th August, 2007)
- Whole project analysis now handles multipass analysis
correctly.
- Most options are stored on a per-IDE version basis
where appropriate, rather than being common to all
supported IDEs [IMS ID 146].
- The analysis configuration is now automatically
reloaded when the active platform is changed in Visual
Studio 2005.
- Project.lnt files are now uniquely named for IDE,
configuration and platform. This ensures that .lnt files
for the same configuration but different platforms in
the same project do not conflict.
- Visual Lint will now attempt to expand internal
platform based environment variables where possible.
This is primarily an issue with embedded projects
(notably for Smartphone and Pocket PC platforms).
- If an unexpected (and undefined) environment variable
is encountered within a project during the process of
writing a project.lnt file, Visual Lint now refers to an
XML configuration file in order to expand the variable.
A default file (Platforms.xml) is installed by default
into the Visual Lint installation folder. Note that this
issue primarily affects eVC4 and VS2005 installations
used for embedded and mobile development.
- When a file with up to date analysis results is saved
while the IDE is in Build or Debug mode its status is
now correctly set to "Stale".
- Corrected a bug which was causing the Analysis Results
Display to be cleared when a window was closed in Visual
Lint Free Edition.
- Analysis results files are no longer parsed when a
solution is loaded under Visual Lint Free Edition.
- Added a "Project" control to the Analysis Results
Display. This allows for easier viewing of the analysis
results for files which are physically shared between
projects. In consequence, selecting a new project for a
shared file in the Analysis Results Display will now
cause the Project/selected File in the Analysis Status
Display to automatically update if "Auto select project"
is active.
- Clicking on the white space to the right of the item
label in the first column of the Analysis Status Display
no longer incorrectly toggles the analysis state of the
project or file. Note that this behaviour was due to a
bug in the common control itself; this change simply
implements a workaround for the incorrect behaviour.
- Modifications to reduce flicker in the Analysis Status
and Results Displays. Effective when running under
ComCtl32 v6 or later (i.e. VS2005 or later on XP, 2003
or Vista).
- Added (at customer request) an option to filter out
duplicated issues from the Analysis Status and Results
Displays.
- The Manual Analysis Dialog and Options Property Sheet
now have persistant positioning within a given session.
- The progress bar within the Manual Analysis Dialog is
now displayed correctly on completion when running under
Windows Vista.
- When the Configuration Wizard is used to create new
lint configuration (.lnt) files appropriate default
filenames (e.g. std_vs60.lnt) are now supplied.
- Minor improvements to the Configuration Wizard "Select
Folder" page.
- The analysis results parser no longer requires a
completion line such as "error 900: (Note -- Successful
completion, nnn messages produced)". This prevents the
status of files being marked as "Incomplete" if PC-Lint
forgot to include the completion message.
- Corrected a bug in the analysis results parser which
caused it to fail if a pathname in the raw analysis
results contains an opening bracket. Also added a test
case for such results containing such pathnames to the
corresponding unit tests [IMS ID 257].
- "Analysis of this file is currently in progress"
messages in the raw analysis results displays are now
suffixed with the analysis results collected so far.
- Raw Analysis Results are now displayed using the
correct "Output Window" font settings when running under
Visual Studio 6.0 or eMbedded Visual C++ 4.0.
- If a std.lnt file is generated by Visual Lint,
subsequent updates (either via the Configuration Wizard
or when the include configuration changes) will identify
the version of Visual Lint which performed the update.
- If Visual Lint is running under Visual Studio 9.0, the
host IDE is now reported as "Visual Studio 2008" in the
Visual Lint Status pane of the Output Window rather than
"Visual Studio codename Orcas" .
- Corrected a bug in the storage of report options.
- Fixed a potential bottleneck in the processing of
options changes.
- Revised the DSSharedObjects::IApplicationEvents event
sink implementation for better compatibility with
eMbedded Visual C++ 4.0.
- Moved the "Indirect File Order" option from the
"Command Line" options page to the "Analysis" options
page, and added interlocks to make it obvious that the
"Project, then global options" option is only applicable
to single file analysis.
- If the selected project in the Solution Explorer
(VS2002 onwards only) is not a C/C++ project, the "Lint
Configuration" command is no longer shown on its context
menu.
- Fixed a case sensitivity issue in the project file
parser.
- Optimised memory usage during whole project analysis.
- File status within the Analysis Results Display is now
correctly set to "Complete" when the manual analysis of
a file completes in Visual Lint Free Edition.
- Corrected a bug in the storage of historical solution
result metrics.
- Made a minor tweak to the default std.lnt filenames in
the Configuration Wizard.
- Corrected a bug in the Visual Studio 6.0 project file
parser which caused preprocessor definitions of the form
"/D _SYMBOL=Value" to fail to parse correctly.
- Replaced the "Analysis Underway" icon with a less
fuzzy alternative [IMS ID 238].
- The "Readme" page now preceeds the "Licence Agreement"
page in the installer (they were the opposite way around
previously).
Version
1.5.6.70 (26th June, 2007)
Version
1.5.5.69 (12th May, 2007)
- Added support for Visual Studio
9.0 (codename "Orcas") Beta 1.
- Individual files can now be
manually excluded from background
analysis in Visual Lint Professional
Edition (this feature works in much
the same way as the current project
level feature). As part of this
change, a "Background Lint Analysis"
command has been added to the
context menu for C/C++
implementation files in the
VS2002/VS2003/VS2005 Solution
Explorer.
- Project analysis now takes into
account whether files are excluded
from analysis, provided Visual Lint
is configured to write project
specific .lnt files directly.
- If a custom report stylesheet
cannot be found, Visual Lint will
now issue a warning (via the Lint
Analysis Status pane in the Output
Window) and use the default one
instead.
- Corrected the text in the
message database for issue 960
(MISRA Rule Violation).
- Added (at customer request) an
option to the "Displays" options
page to allow the progress control
in the Manual Analysis Dialog to be
hidden if desired.
- Added (at customer request) a
"View Results" button to the Manual
Analysis Dialog.
- The "Show display colours"
option in the "Categories" option
page is now persistant.
- Fixed a bug in the options code
which could cause the
"IndirectFileOrder" option to be
saved incorrectly.
- Fixed a bug which could cause
relative pathnames in solution
options files to be resolved
incorrectly.
- Corrected a bug in the "Report"
Options page which could cause the
pathnames of custom solution and
project stylesheets to be saved
incorrectly.
- The project.lnt file writer no
longer attempts to resolve relative
pathnames enclosed in quotes. This
ensures that filenames such as
"..\Folder1\Folder2" are not
incorrectly expanded to fully
qualified pathnames.
- Project.lnt files are now
written with correct Windows line
endings (CR + LF as opposed to just
LF).
- Desensitised Visual Lint to
consequtive backslashes in global
include folder specifications (this
is a workaround for a VS Orcas Beta
1 bug) and in project additional
include folder specifications (where
they can cause the folder paths to
be resolved incorrectly). Also
converted forward slashes to
backslashes before writing project
specific includes to a .lnt file.
- If a whole project analysis
aborts due to a fatal analysis
error, the status of individual
files within the project is now set
correctly.
- Fixed two potential divide by
zero errors.
- Corrected a bug in the import of
custom categories.
Version
1.5.4.67 (31st March, 2007)
- Integrated a new installer built
using InstallAware Studio (we
previously used the installation
builder supplied with Visual Studio,
but we have outgrown its
capabilities). This installer also
addresses compatibility issues with
Windows Vista.
- Modified elements of the user
interface for consistancy with
Windows Vista. As part of this task
most commonly seen message box
prompts have been replaced with
Vista style Task Dialogs, and the
appearance and layout of the Manual
Analysis Dialog, Registration Dialog
and About Box have had been
improved. In addition, all File
Dialogs displayed by Visual Lint
when running under Windows Vista are
now the new style ones rather than
the old style Windows 2000 ones
displayed under Vista for legacy
applications.
- Project.lnt files are now by
default written directly by Visual
Lint rather than by PC-Lint. This
avoids problems with MFC projects
and the definitions of _AFXDLL and
/MD[d] in MFC projects.
- Added an option to the "Command
Line" page to determine whether
std.lnt or the project.lnt file
should be located first on the
command line. This can be important
when files of the same name as SDK
include files are referenced through
project additional includes.
- When a file is saved, any
analysis tasks currently running on
that file are now aborted to avoid
parallel re-analysis tasks on the
same file. Note that under VS2005,
such analysis tasks are stopped
prior to the file save being
executed to avoid problems with file
locking [IMS ID 141].
- Added limited support
(VS2002/VS2003) for Intel C++
compiler 9.1 (.icproj) projects.
(see
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/279578.htm).
Note that VS2005 cannot be
supported in this way as
EnvDTE::Project::GetObject() returns
E_NOTIMPL for Intel compiler
projects under VS2005. As this is a
prerequisite for access to the
entire Visual C++ automation model,
we cannot support the Intel compiler
under VS2005 until this deficiency
is rectified. Note also that Under
VS2002 and VS2003 minor deficiencies
in Intel's implementation of the
Visual C++ automation interfaces
(specifically the non-implementation
of VCProject::GetConfigurations and
GetVCProjectEngine) any project
environment variables in the
Additional Include Folders and
Preprocessor Definitions properties
within an Intel compiler project
cannot currently be expanded.
- When a solution containing a
single project is loaded, the
Analysis Status Display will
automatically show the contents of
that project when loading completes,
rather than leaving "All Projects"
selected.
- Clicking on the column in the
Analysis Status Display containing a
count of the total issues in a
category now sets the category
filter in the Analysis Results
Display to that category.
- Corrected a bug in the
resolution of relative pathnames
while activating items in the
Analysis Results Display.
- Added a "Lookup Meaning" command
to the context menu of the Analysis
Results Display. When activated,
this will display details of the
selected issue in the Lint Message
Lookup Display, making the Display
visible if required.
- Disabled or hid a number of
irrelevant controls under VS6/eVC4.
- Improved lockouts which prevent
toolwindows being docked when the
Visual Assist "VA View" is active
under Visual Studio 6.0 or eMbedded
Visual C++ 4.0.
- Files which are excluded from
build (currently supported under
VS2002 onwards) are no longer used
when calculating analysis progress
metrics [IMS ID 247].
- Added a "Close this dialog when
analysis completes" checkbox to the
Manual Analysis Dialog. at customer
request. Also corrected the
calculation of the content string
extent to avoid unwanted text
wrapping.
- Visual Lint now checks the
include configuration in std.lnt
against that defined in the IDE when
a workspace is loaded under Visual
C++ 6.0 or eMbedded Visual C++ 4.0
(comparable checks for later IDEs
are already present).
- Added a "Do not ask me again"
checkbox to the include folder
mismatch prompt displayed when a
discrepency between the contents of
std.lnt and the current include
folder configuration is detected.
When activated, the "Automatically
update the lint include
configuration when the Visual Studio
include folder configuration is
changed" option is deactivated [IMS
ID 251].
- If the Visual Studio
6.0/eMbedded Visual C++ 4.0 add-in
determines that its VSPackage is
missing (which can happen if a
legacy version of Visual Studio is
installed after Visual Lint) it will
attempt to deploy it to the correct
folder (note that this is likely to
fail under Windows Vista due to UAC,
so additional work is necessary on
this platform).
- Fixed a bug which was preventing
some custom solution/project
analysis options from being loaded
correctly.
- Added a horizontal scrollbar to
the "Include Folders" control in the
Configuration Wizard.
- Added ".cc" to the list of
supported C++ file extensions.
- Corrected a potential buffer
overflow in the project file parser.
- Minor corrections to the way
Additional Include Folders are
resolved.
- Corrected calls to PathResolve()
to ensure that the correct drive is
used when resolving paths of the
form "\folder1\folder2" while
generating project specific .lnt
files.
- When a file is manually
analysed, the corresponding command
line is now displayed in the "Visual
Lint Status" pane of the Output
Window (this already during
background analysis).
- Added functionality to allow
Visual Lint to perform analysis with
only a std.lnt file (i.e. without an
options.lnt file) at customer
request.
- Fixed an assert in the project
file parsing code, which fired if
the parser found environment
variables it could not resolve (but
did not necessarily need to - the
project.lnt file writer should
handle such cases) [IMS ID 250].
- Fixed a minor bug in the Visual
Studio service pack reading code
which was causing it to fail when
run under a limited user account.
- Updated the copyright notice in
the Visual Studio About Box (applies
to VS2002 onwards).
- Minor updates to the Readme and
Licence text displayed by the
installer.
Version
1.5.3.63 (1st February, 2007)
- Improved diagnostics while
loading projects, in order to track
down a solution load failure in VS6.
- IApplication (Visual Studio 6.0
automation) pointers are now
marshalled correctly between
threads. This change is
precautionary.
- PathResolve() is no longer
called when writing additional
includes to a .lnt file if the
includes are relative. This change
prevents fully qualified relative
paths from being resolved
incorrectly.
- Added support for Embedded
Visual C++ 4.0 [IMS ID 181].
- Fixed a bug in the Analysis
Status Display which caused the
included/excluded from analysis
status of a project to be
incorrectly toggled when text in a
column other than the first was
clicked.
- Fixed a bug in the Analysis
Status Display which could cause the
status of a project to fail to
update as analysis proceeded.
- Where possible the Visual Studio
service pack is now identified in
the status pane on startup, and in
the subject of emails sent from the
About Box.
- Updated copyright notices from
"Copyright (c) 2004-2006" to
"Copyright (c) 2004-2007".
Version
1.5.2.62 (9th January, 2007)
- Added an "Internal Errors"
category to differentiate Internal
PC-Lint Errors (messages 200-299 and
1200-1299). If the analysis results
parser cannot parse a message, it
will also use this category.
- When a category is edited, the
ordering of the categories within
the "Categories" options page is now
defined automatically by severity.
In consequence, the "Move Up" and
"Move Down" buttons have been
removed.
- Project.lnt files can now be
generated directly by Visual Lint
when hosted under Visual Studio 6.0
(this option was previously only
available in VS2002 onwards). Any
shell environment variables found
within the files or additional
include folders sections of a Visual
Studio 6.0 project (.dsp) file will
now be expanded correctly.
- Improved handling of relative
paths within Visual Studio 6.0
projects.
- Fixed a minor bug in the
Analysis Results Display which could
cause an erroneous "Invalid Pointer"
error message if a file could not be
opened [IMS ID 241].
- The Analysis Status and Results
Displays now check that pathnames
are valid before attempting to open
the corresponding file [IMS ID 241].
- When a file completes analysis,
the Analysis Status Display no
longer re-sorts if the current sort
column is "Filename".
- Fixed a bug in the generation of
project lint analysis command lines
which could cause analysis to fail
under some circumstances.
- Links in HTML reports are now
generated using forward slashes
rather than backslashes for
compatibility with Apache [IMS ID
240].
- Corrected the default sort order
in the project analysis report
template.
- Added PC-Lint 8.00v error 1085
(Invalid definition of 'String') to
the message database.
Version
1.5.1.61 (20th November, 2006)
- Fixed a bug in the generation of
PC-Lint command lines which was
preventing Visual Lint from using
the PC-Lint executable if it was
located in a folder path containing
one or more spaces.
- Fixed minor bugs which were
preventing solution/project warning
policy files from being configured
unless a corresponding
solution/project lint configuration
file was also defined [IMS ID 234].
- Corrected the default value for
the "Warning Policy Usage" control
on the "Project" Options page.
- The "Project specific custom
analysis options" control on the
"Project" Options page is now
enabled/disabled appropriately.
- Resetting the solution or
project lint configuration now
enables/disables all controls
appropriately.
- Fixed a potential crash when a
file was removed from a project.
- When a new category is added,
defaults for the "Plural Name" and
"XML Element" fields are now
automatically filled in from the
category name.
- Corrected the operation of the
"Back" button in the Analysis Status
Display [IMS ID 216].
- Changed the colour of the "Back"
button in the Analysis Status
Display from green to blue, to
reflect emerging Windows conventions
(Vista/Media Player 11).
- Fixed a minor bug in the
validation of fields in the Lint
Issue Categories Dialog.
- The "Pin" button in the Analysis
Results Display is now hidden in
Visual Lint Free Edition, as it only
works in Standard Edition and above.
- Widened the initial width of the
"Category Name" column in the
Analysis Results Display slightly so
the built-in category "Elective
Note" is not truncated.
Version
1.5.0.60 (12th November, 2006)
- Added support for Visual Studio
6.0.
- Added support for Visual Lint
Professional Edition licence keys
and the corresponding features
(whole project analysis,
inclusion/exclusion of selected
projects, customisable HTML report
stylesheets, custom categories and
per solution/project lint
configurations).
- The "All Projects" option in the
Analysis Status Display now displays
status information for complete
projects rather than individual
files. The new "All Files" option
now performs the same function as
"All Projects" did previously [IMS
ID 182].
- Fatal errors are now displayed
in white text on a red background in
both the Analysis Status and Results
Displays. Note that in the Status
Display, a file containing one or
more Fatal Errors would previously
have been displayed in gray if the
analysis did not complete. This has
now been corrected.
- The Analysis Status Display now
sorts the display after a project is
updated. This ensures that the
display remains correctly sorted
during project loading.
- The Analysis Results and Status
Display now display pathnames using
ellipses to fit the available space.
- Changed the colour used for
Elective Notes to one which does not
conflict with the colours used to
indication project and file status
in the Analysis Status Display. Also
changed the colour for Informational
messages as a result.
- The Analysis Status Display now
preloads the display of projects
while the solution is loaded.
Projects which have not yet been
loaded by Visual Lint display with
the status "Loading" and are
displayed in grey.
- The Analysis Status Display no
longer resets the selected project
or fully refreshes as the solution
is loaded. All updates are now
incremental, and the current
selection is preserved.
- Revised the colours used in the
Analysis Status Display and added
icons. Also rationalised the code to
decide what colour display elements
should be in preparation for making
it customisable.
- Files containing fatal errors
are now displayed within the
Analysis Status Display in white
text on a red background in order to
draw attention to them.
- The Analysis Results Display now
has the capability to display raw
analysis results directly. This
feature is intended to replace the
existing "Lint Analysis Results"
pane within the Output Window
(although that will still be
optionally available in VS2002
onwards) and extends the capability
to easily view raw analysis results
to developers running Visual Lint
within Visual Studio 6.0.
In consequence, the "Preferred
window for analysis results" option
has been removed, and an option
added to determine whether raw
analysis results should be echoed to
the Output Window as well as the
Analysis Results Display. By
default, this option is enabled.
- Added a "pin file" button to the
Analysis Results Display. When
activated, this control will pin the
current file within the display,
preventing its contents from being
replaced when the active file
changes.
- Prevented the Analysis Results
Display from being unnecessarily
refreshed when an implementation
file was activated after its
corresponding header file.
- If a header file is the active
file in the IDE and the
corresponding implementation file is
being analysed, the Analysis Results
Display is now updated accordingly.
- When a lint issue in the
Analysis Results Display is double
clicked, the line the issue relates
to is vertically centred in the code
editor. Note that this change has
been made for VS2002 onwards - the
behaviour under VS 6.0 is unchanged
at present since it does not expose
the necessary interfaces.
- When an issue is double clicked
on in the Analysis Results Display,
the selection is extended by one
character to ensure that long lines
are not scrolled to the extreme
right in the code editor.
- Added an icon to the Analysis
Results Display to indicate the
status of the analysed file.
- Many other minor changes, bug
fixes and improvements.
Version
1.0.5.48 (31st May, 2006)
- Modified the balloon tip
component used by Visual Lint to
display notifications when a
solution analysis completes etc. for
compatibility with Hardware DEP
(Data Execution Prevention) enabled
systems.
- Increased the duration of the
tooltip from 5s (the default) to
30s.
- When a message is double clicked
on in the Analysis Results Display,
the selection is extended by one
character to ensure that long lines
are not scrolled to the extreme
right in the code editor.
- Further improvements to the
Analysis Results parser (to handle
messages such as "Error 314:
Previously used .lnt file:
C:\Lint\options.lnt").
- The command line used during
each analysis task is now displayed
in the Visual Lint Status pane of
the Output Window.
Version
1.0.4.46 (18th April, 2006)
- Added support for VS2005
solution folders.
- When a lint issue in the
Analysis Results Display is double
clicked, the line the issue relates
to is now centred in the code editor
- The analysis results parser now
copes better with lint messages
which are not in the expected
format. This is most likely to
happen with some fatal error
messages or those generated during a
specific walk
- Guarded against window object
retrieval failures while activating
files in the Analysis Results
Display. This change is
precautionary.
- CAddInEventManager::Opened() now
reports via the Status Window if an
unexpected exception occurs. This
change is precautionary.
Version
1.0.3.45 (4th March, 2006)
- Changed the terminology used to
describe collections of lint results
from "Messages" to "Issues".
- When analysis of a solution has
completed, the change in issues from
the previous analysis is now
displayed. Also fixed a minor bug in
the code used to determine when the
analysis of a solution has
completed.
- The sort column and order in the
Analysis Status and Results Displays
are now persistant.
- The Analysis Results Display now
shows the status and total issue
count of the file [IMS ID 135].
- Analysis results are now written
to temporary files first. This
reduces the possibility of a sharing
violation while accessing the
results files.
- The Analysis Results Display no
longer refreshes when the currently
displayed file is re-activated.
- Modified the Visual C++
"ItemAdded" and "ItemRemoved" event
handlers for VS2005 compatibility.
- If a configuration file is read
only the Configuration Wizard now
prompts to ask whether it should be
overwritten [IMS ID 56].
- When the analysis of a file
completes, the raw analysis results
are now read directly from a cached
copy within the thread task rather
than from the file on disk. This is
not only faster but eliminates any
possibility of a sharing violation
while reading the file.
- The Analysis Results Display and
Status Display now use virtual list
controls (i.e. with the
LVS_OWNERDATA style). As a result,
they can now handle larger solutions
and sets of results more efficiently
than previously.
- Analysis results for open files
are now cached to optimise speed and
memory useage.
- Optimised the way raw analysis
results are written to the Lint
Analysis Results pane of the output
window.
- Improved the way analyis
failures are handled. Instead of a
message box, the file for which
analysis failed is highlighted in
the Analysis Status Display, and
details of the failure (including
the command line used) are shown in
the Lint Analysis Results pane of
the Output Window.
- Solution Pathnames are now read
from a helper function which uses
the Solution.Properties.Item("Path")
property rather than
Solution.FullName. This allows the
add-in to better handle direct
loading of projects rather than
solutions (the "Path" property is
set under these circumstances;
Solution.FullName is not).
- COM event sinks are now version
independent, for compatibility with
VSTS editions of Visual Studio 2005
[IMS ID 161].
- Visual Lint is now compatible
with PC-Lint 7.50. As PC-Lint 7.50
cannot parse .vcproj files, Visual
Lint now checks the version of
PC-Lint before asking it to generate
project specific .lnt files. If the
version is prior to 8.00, Visual
Lint writes the file directly
instead [IMS ID 162].
- For support purposes, details of
the version and edition of Visual
Studio and PC-Lint in use are now
recorded in the Status Window when
the add-in is loaded, and in the
subject of emails sent from the
About Box.
- HTML Reports are no longer
automatically written automatically
unless the corresponding option is
active. Also added some additional
diagnostics to help troubleshoot
HTML report transformation failures,
and regenerated the project report
template - which seemed to be most
likely to fail [IMS IDs 159 and
160].
- Pathnames are no longer directly
compared. Instead, a helper function
is used for safety.
Version
1.0.2.43 (18th January, 2006)
- A DTE interface pointer obtained
from the COM Global Interface Table
(GIT) is now used while loading
solutions. This avoids potential
problems caused by marshalling of
COM interfaces which can occur when
running under VS2005. In order to
allow threads using the GIT to
operate correctly, worker threads
within the add-in are now
implemented as multithreaded
appartments [IMS ID 152].
- The "BeforeExecute" command
event handler no longer pauses
analysis if the "Active
Configuration" property is about to
change, as under some circumstances
VS2005 RTM will source this event
regularly even though the
configuration is not changing. In
such cases this could cause the
solution analysis state to
unilaterally switch back to "Paused"
when the user presses "Play" [IMS ID
152].
- The code used to read the
intermediate files folder for a
Visual C++ project has been modified
for compatibility with GIT
marshalled COM interfaces - which do
not support backward compatible
VCProjectEngineLibrary interfaces.
This is a direct consequence of the
changes made to address IMS ID 152.
- Changed the method of reading
include folder configurations in
order to improve compatibility with
VS2005. The required VCPlatform
interface is now obtained directly
from VCProjectEngine, which itself
can be obtained from the properties
collection maintained by VCProjects.
The same method also works with
VS2002 and VS2003, so it has been
adopted for all platforms [IMS ID
100].
Note that of the platforms
supported by VS2005 (Win32, x64,
Pocket PC 2003 and Smartphone 2003)
the wizard currently only supports
the Win32 platform - this will be
expanded in a subsequent release to
include the other available
platforms [see IMS ID 156 for
details].
- When running under VS2005 the
include folder and active
configuration are not checked
periodically as they are under
VS2002/2003. Not only is it
unnecessary with VS2005 (which does
not have the command event bug which
makes it necessary for VS2002/2003)
but doing so can cause instability
in the VS2005 IDE.
- The eAction parameter received
by the "BuildBegin" event handler is
now cached, as under VS2005 the
companion "BuildDone" event can
receive an invalid value. This
caused Visual Lint to fail to
restart analysis after a Rebuild All
(but not Build, which works
correctly).
- The
VCProjectEngineLibrary::_dispVCProjectEngineEvents
"ItemPropertyChange" event has an
additional parameter in VS2005.
Visual Lint now handles this event
correctly, irrespective of whether
the add-in is running under VS2002,
VS2003 or VS2005.
- Fixed an intermittent crash when
a solution is closed or a message in
the Analysis Results Display is
activated while the display is being
updated [IMS ID 153].
- Analysis results now appear
correctly when a source file is
analysed while no solution is open.
- The "Show Display" commands now
reset the position of a floating
toolwindow if its size is far too
small (this can happen from time to
time due to a bug in Visual Studio
itself). This provides an easier way
of recovering a "lost" toolwindow
than resetting the IDE's window
layout.
- When the add-in is being
uninstalled the user is now prompted
as to whether it should attempt to
remove its commands and warns that
this could affect IDE customisations
(at least under VS2005) [IMS ID
154].
- The parent window of
uninstallation prompts and the
progress dialog is now set
correctly.
- Error messages returned while
writing HTML reports are now written
to the Status Display for diagnostic
purposes.
- When the add-in is being
uninstalled instances of Visual
Studio it launches to remove its
commands are now configured not to
load any add-ins. This prevents any
unexpected UI from being shown by
other add-ins during this process
[IMS ID 109].
- Three +linebuf parameters are
now injected into the generated
command line to reduce the
likelyhood of a buffer overflow in
PC-Lint during analysis [IMS ID
149].
- The way unloaded projects are
handled has been improved. In
particular, they are now identified
by name when the solution is loaded
(the name is accessible, the
pathname is not!) and removing an
unloaded project from the solution
no longer results in an uncaught
exception [IMS IDs 150 and 148
respectively].
- Guarded the solution
"BeforeClosing" event handler
against calls when no solution is
open (this can happen during project
conversion, for example) [IMS ID
142].
- The active configuration and
include folder configurationare no
longer checked while if no solution
is open. This prevents problems
during project conversion in VS2005
[IMS ID 142].
- Removed unnecessary status
window activation calls.
- Updated the PC-Lint message
database to PC-Lint 8.00t. Also
improved the formatting of messages
containing code samples.
Version
1.0.1.41 (19th December, 2005)
- Added an "Order" column to the
Analysis Results Displays so it can
be sorted by the order messages are
generated by PC-Lint. This assists
in interpreting messages such as 830
("Location cited in prior message")
which relate to the preceeding
message.
- Corrected the icons used in the
Analysis Results Display.
- Trailing backslashes are now
stripped from the Intermediate File
Folder configuration before it is
used in a PC-Lint command line, as
PC-Lint gets rather confused by them
[IMS ID 144].
- Lint messages which are not
associated with a source file (e.g.
Fatal Errors generated during the
analysis process) are now parsed
correctly.
- Messages 200-399 are now
correctly identified as Fatal Errors
[IMS ID 144].
- The Analysis Results Display no
longer attempts to jump to the
source line if the lint double
clicked message is not associated
with a source file [IMS ID 144].
- Analysis results for the file
displayed in the active window are
now automatically displayed when the
solution finishes loading [IMS ID
147].
- When a file without analysis
results is activated, the Lint
Analysis Results pane of the Output
Window is now cleared irrespective
of whether the IDE is in Design or
Debug mode.
- Corrected the URL of the online
store in the registration
page/dialog.
- Balloon tips are now only
displayed if the host instance of
Visual Studio is the foreground
window [IMS ID 143].
Version
1.0.0.40 (29th November, 2005)
|