WHAT'S NEW IN
CLEANSCAPE GUI (FLINT, LPLUS, C++LINT)
Last update: 12-Jun-09
Flint: version 6.40 Lplus:
version 6.30 C++lint: version 2.0
Click these
links for individual product details:
Flint Lplus C++lint
●
Hyperlinks now enabled for the
cross-reference and call trees (Flint, Lplus).
When added to the existing hyperlinks from the analysis report, the
major functionality of the Flint, Lplus, and C++lint GUIs are complete. Note:
the image below is a Linux screen shot by way of example; the rest are
Windows screen shots. The functionality
is identical between environments.
●
To use hyperlinking:
1. Install and
use one of these editors (or add your own – see seteditor section below), which support
external calls with line numbers:
Borland CodeWright Starbase
CodeWright
Crimson Editor Epsilon
Programmer's Editor
Emacs GWD
Text Editor
GVim
MultiEdit
TextPad
UltraEdit
Visual SlickEdit Visual
Studio .NET 2003*
Visual Studio 6* Visual Studio 2005*
Visual Studio 2008* Visual C++ 2008 Express*
Elvis Nedit
(nc)
Emacs Pico *
Jed * Vi *
Joe * Vim *
Nano * Xemacs
* Visual Studio
IDEs and text-based Unix editors are not easily controlled via external tools;
in all cases, a new instance of the IDE/editor will be started with each link
click.
2.
Select the editor from the
"External Editor" dropdown on the Reports tab in the lower left frame
of the GUI.
3.
The editor's location may be modified
as necessary using the Locate button.
4.
Flint: Use "Freeform" as the cross-reference type (also on the Reports
tab).
●
The GUIs may now be installed and run anywhere.
For command
line operation, the Windows installer automatically creates environment
variables and adds them to PATH; note you will need to close/restart any
command prompts for this to take effect.
On Unix/Linux, you still need to set environment variables to run the
command line products (FLINTHOME for Flint, CSIHOME for Lplus, and IPTLINT for
C++lint, each set to the appropriate ‘main’ subdirectory) and then add them to
PATH.
●
Starting in version x.35 of the GUI, the
default file extension for the Add File dialog can now be specified in the .ini
file associated with the product. For
instance, setting Default
Add File filter = .cpp in cpplint.ini will default to files with that extension in the Add Files dialog.
●
An external tool, seteditor, has been added to your Cleanscape program’s ‘bin’ subdirectory. Instead of having to request adding an
editor via Cleanscape, simply double-click the program and follow the
instructions for the three popups. In
Unix/Linux, the setup is command-line interactive. Restart the Cleanscape GUI, and your editor will be in the
dropdown list on the Reports tab! Newly
added editors are stored in file myeditor.lst in $HOME (Unix) or C++lint’s ‘main’
subdirectory (Windows).
●
C++lint only: In a similar vein, new compilers (or user-defined compiler files) may
be added to the GUI’s Target System dropdown via an external file named mycompiler.lst in the ‘bin’ subdirectory.
●
C++lint only: An external program,
setupgcc, has been added to configure gcc or g++ on the user’s system. setupgcc queries the complier for
build-specific defines, macros, and include directories, then makes those
settings available if “gcc_latest” or “g++” are selected from the Target System
dropdown.
Incidentally,
g++ is loaded into the Target System dropdown using mycompiler.lst as defined above.
●
C++lint only: The ability to view/edit the Target System’s compiler options file
(co-xxx.lnt) is now a button click away, located on the Misc Options tab:
●
Section 508 (keyboard-only GUI control)
has been implemented: the keyboard accelerator for any supported GUI element is
underlined. Functionality and keyboard shortcuts are documented in the GUI
manual located in the doc subdirectory.
●
Right-click on any filename in the
Project window and the file will open in the previously selected External
Editor. Also, a tooltip balloon
provides the full filename; if the filename doesn't fit the window, the last 40
or so characters are shown and an ellipsis starts the filename.
●
A "template" project file
containing the settings - but not the filenames – of the GUI session is
automatically saved upon exit, then loaded at next GUI start if neither project
filename nor -blank are specified.
●
A list of up to 9 recent projects is
retained and may be loaded from File - Recent Projects.
● C++lint only: It is now possible to use the GUI to set the analysis options for
Visual Studio IDE and command line interface modes. Select all desired options in the lower left frame of the GUI,
then select “Save std.lnt” from the File dropdown, as shown at left. If the GUI were started from the IDE, the
correct path is already available and the std.lnt file is saved there. Otherwise, a Save As dialog will appear
where you can select the directory in which to store the std.lnt file.
●
The user may now set the maximum
report size. The default file size is
10000000 characters. The new value
specified by the user must be an integer.
WARNING: An abort may occur if
you do not have adequate memory / swap space to load all the reports under your
Windows system! Since 10MB represents
*2000* single-spaced, typed pages, we urge you to contact support@cleanscape.net to optimize
your report sizes in lieu of this option.
●
The max report size and/or a .csi file
may be specified at the end of the GUI icon command, or at the end of the
command to start the GUI if from a command line, e.g.,
flintgui 12500000 ~/myproj.csi
&
Adding the full path to and
the .csi extension of a Cleanscape .csi file will cause that project to be
loaded on GUI startup. This can also be appended to the desktop shortcut on
Windows (Properties, append to end of Target string as shown in example to
right).
●
If no .csi file is specified at
startup, Flint loads the "template project" described earlier.
To prevent the template from
loading, add -blank to the startup.
●
Users can now specify font preferences
via the <prod>.ini file located in the ‘main’ subdirectory ($HOME if
Unix/Linux).
●
Online help updated to capture these
changes.
●
Seamonkey has been added to the list of browsers searched for if running on *nix.
●
A number of bug fixes, cleanups, and
control enhancements.