Visual Lint 4.0.3.200 has been released |
|
Wednesday, May 1, 2013
|
|
This is a maintenance update for Visual Lint 4.0. The following changes are included:
- VisualLintConsole can now export analysis results data in user defined formats specified using an external configuration file. See the Command line options page in the product documentation for details of the format of these files.
- Duplicated analysis issues are now filtered out from the data written to export files written by VisualLintConsole using the /exportfile switch.
- Various modifications for compatibility with solutions (e.g. the WDK "Toaster" sample) in which two projects share the same name.
- The "Category" column in the Analysis Statistics Display is now (correctly) sorted by the severity associated with each issue category rather than alphabetically by the name of each category.
- Fixed a bug which could cause a crash when a project or file with an active analysis task was unloaded or removed from a solution.
- Fixed a bug in the querying of available CppCheck analysis issues via the --errorlist switch.
- Fixed a bug in the implementation of the VisualLintConsole /showcmdlines switch.
- Fixed a bug in the Analysis Statistics Display which manifested when using the CppCheck analysis tool.
- Fixed a bug which caused unnecessary display updates when when checking or unchecking multiple selected items in the Analysis Statistics Display using the spacebar.
- Fixed a bug in the storage of analysis results which affected the analysis of Eclipse workspaces using multiple analysis tools.
- Various updates to help topics.
|
Posted by Anna at 10:06 | Get Link |
The ACCU Conference is next week! |
|
Tuesday, April 02, 2013
|
|
This year's ACCU Conference at the Bristol Marriott Hotel starts next Tuesday, so we have been busy preparing for the event over the past couple of weeks.
The conference has a very special speaker this year - none other than Bjarne Stroustrup (the designer of the C++ language) himself. Bjarne will not only be talking about C++ 11, but about the next version of the standard - C++ 14.
We will be at the venue from Monday afternoon, and our stand should be up and running from Wednesday morning. In addition, our founder Anna should be one of the panelists in Pete Goodliffe's Becoming a Better Programmer session on Wednesday afternoon.
If you are attending the conference, please come up and say hello!
|
Posted by Anna at 16:29 | Get Link |
Visual Lint and Windows Driver Kit (WDK) projects |
|
|
We have recently been working with Don Burn on PC-lint analysis of Windows Driver Kit (WDK) projects, and he has written an interesting article on the subject titled "Another Look at Lint" in the March-April 2013 issue of the NT Insider.
Within the article you will find the following rather complementary passage:
Finally the ultimate tool for using PC-lint with the WDK is Riverblade's Visual Lint. This is a third party tool providing an integrated package that works inside VS2012. The tool is an add-on to PC-lint which you must still purchase. The capabilities include background analysis of the project, coded display listings that - like Visual Studio - clicking on the error takes you to the line to edit and provides easy lookup of the description of the errors. The latest version of Visual Lint (4.0.2.198) is required for use with the WDK. The tool has a minor bug that if there are two subprojects with the same name, such as filter in the Toaster sample, one needs to be renamed for analysis to work. A fix is in the works.
To use Visual Lint with the WDK choose LintLdx.lnt as the standard lint configuration file for the tool. There is a 30-day free trial of Visual Lint available so if you are considering PC-lint, take a look at what Visual Lint can add to the experience. I expect to be using it for much of my work.
Our thanks to Don Burn for his patience while we worked through the issues raised by the analysis of WDK projects. As a postscript, a fix for the bug he refers to above has already been checked in and should become available in the next public Visual Lint build (most likely 4.0.3.200).
|
Posted by Anna at 16:29 | Get Link |
LintProject Pro 2.5.4.25 has been released |
|
Thursday, March 14, 2013
|
|
The following changes are included:
- Fixed a bug in the implementation of the /showcmdlines switch
- Added support for projects using the Windows Driver Kit 8 (WDK) platform toolset [from Visual Lint 4.0.2.198].
- Fixed a bug parsing Visual C++ 2010/2012 projects which use the MSBuild <ClCompile> elements with more than one file listed in the "Include" attribute. The bug manifested in the "Toaster" sample from the WDK [from Visual Lint 4.0.2.198].
- Fixed a bug in the parsing of project .location files within Eclipse workspaces [from Visual Lint 4.0.2.198].
- Fixed a bug in the parsing of Eclipse project files containing linked resources whose location is specified by URI [from Visual Lint 4.0.2.198].
- Fixed a bug in the PC-lint analysis results parser which could cause source code extracts to be mistaken for analysis issues in rare cases [from Visual Lint 4.0.2.198].
- Fixed a bug in the generation of solution analysis reports [from Visual Lint 4.0.2.198].
- Fixed a bug which could cause duplicated configurations to be listed when the /config? switch was used with an Eclipse workspace [from Visual Lint 4.0.1.196].
- Added Windows 8 and Windows Server 2012 to the list of supported operating systems listed in the readme file packaged within the installer, and removed Windows 2000.
- Updated the list of supported solution/project file types in the readme file packaged within the installer.
|
Posted by Anna at 16:29 | Get Link |
Visual Lint 4.0.2.198 has been released |
|
|
This is a maintenance update for Visual Lint 4.0. The following changes are included:
- Added support for projects using the Windows Driver Kit 8 (WDK) platform toolset.
- Modified the Visual Studio plug-in to guard against EnvDTE::ProjectAdded() events sourced by Visual Studio 2012 (but not earlier versions) while loading a solution.
- Fixed a bug parsing Visual C++ 2010/2012 projects which use the MSBuild <ClCompile> elements with more than one file listed in the "Include" attribute. The bug manifested in the "Toaster" sample from the WDK.
- Fixed a bug in the parsing of project .location files within Eclipse workspaces.
- Fixed a bug in the parsing of Eclipse project files containing linked resources whose location is specified by URI.
- Fixed a bug in the handling of Eclipse project closed events.
- Further optimisations in the loading of Eclipse workspaces containing closed projects.
- Added the ability to detect file save events to the Eclipse plug-in.
- Fixed a bug in which a saved file was not queued for analysis because the solution analysis status was previously "Complete" and the analysis queue had not been started.
- Fixed a bug in the PC-lint analysis results parser which could cause source code extracts to be mistaken for analysis issues in rare cases.
- Fixed a bug in the generation of solution analysis reports.
- Minor updates to the helpfile.
- Added Windows 8 to the list of supported IDEs listed in the readme file packaged within the installer.
If you are using Visual Lint with Visual Studio 2012 or Eclipse, this is a recommended update.
|
Posted by Anna at 14:21 | Get Link |
ACCU 2013 is rapidly approaching |
|
Friday, February 1, 2013
|
|
ACCU 2013 is rapidly approaching, and with it developers, project managers etc. "in the know" are making arrangements to get to Bristol on 9th-13th April for what is arguably the most intensive developer conference in the UK. Are you among them?
This year's schedule (see below - click on the image to see the full schedule) really does speak for itself.
Keynote speakers this year are Eben Upton (Inspiring future generations with open hardware - the Raspberry Pi), Brian Marick (Cheating Decline: Acting now to let you program well for a really long time), Bjarne Stroustrup (C++ 11: The Future is Here) and the irrepressible Kevlin Henney (Worse Is Better, for Better or for Worse).
We hope to see you there. There will be beer - of that I am absolutely certain.
|
Posted by Anna at 09:31 | Get Link |
Visual Lint 4.0 has been released |
|
Tuesday, January 8, 2013
|
|
Well, it's done - the first public build of Visual Lint 4.0 was uploaded to our website this morning:
As of today, Visual Lint 4.0 replaces Visual Lint 3.5 as the current supported Visual Lint version. Customers with active priority support, floating and site licence subscriptions should already have received updated licence keys for the new version, and upgrades for Visual Lint 1.x, 2.x and 3.x per user licences should become available in our online store shortly. Pricing is unchanged from the previous version.
If you have purchased any full per-user Visual Lint licences since early October, your licence keys are already v4.x compatible so can start using the new version of the software right now without any need to upgrade. If you have purchased any upgrade licences during the same period, you will shortly receive new Visual Lint 4.x compatible licence keys.
Full details of the changes in this version are as follows:
Host Environments:
- Added the standalone Visual Lint application (VisualLintGui) to the installer as an optional component. In addition to the project types supported by the existing Visual Studio or Eclipse plug-ins, VisualLintGui can also analyse projects for environments such as CodeGear C++ Builder for which a dedicated Visual Lint plug-in is not currently available.
- Added support for x64 builds of Eclipse to the Eclipse plug-in.
- Added support for Visual Studio 2012 themes to the Visual Studio plug-in.
- Added support for Atmel Studio 6 to the Visual Studio plug-in. Note that the plug-in is not yet registered with this development environment by the installer, so this must be done manually. Atmel Studio 6 projects can also be analysed using both VisualLintConsole and VisualLintGui.
- Added support for CodeGear C++ Builder XE3 (.cbproj) project files.
Installation:
- Added the ability to install a licence key from a (Unicode or ANSI) text file containing the new licence key during the installation process. This allows licence keys containing non-ANSI characters to be deployed during a silent installation.
- Removed the obsolete "Getting Started Guide".
- Added several custom PC-lint indirect files (including support files for CodeGear C++ Builder, Atmel/AVR Studio and the library "tuning" indirect file lib-rb-win32.lnt) and their dependencies to the installer. Generated PC-lint command lines automatically include a -i directive referencing this folder, so you should not need to copy the installed files to your PC-lint installation folder to make use of them.
- Visual Lint now includes a subset of the indirect files from the PC-lint distribution by kind permission of Gimpel Software. Visual Lint injects a -i directive for the folder containing these files onto the command line, so that any indirect files not present within your PC-lint installation will be found there instead. To override the behaviour of any file within this folder, save a customised copy within your PC-lint installation and PC-lint will use it in preference.
- Updated the manifest in the installer to fix the "This program may not have installed correctly" Windows 7 bug and specify that administrative privileges are required for installation.
Configuration:
- Split the Configuration Wizard "Select Files" page into separate pages for std.lnt and options.lnt.
- Changed the default extension for Solution/Project Analysis Configuration (.vloptions) files to .vlconfig. Where a .vloptions file already exists, it will of course be used in preference for backward compatibility.
- Added the ability to read project settings from NMake and GNU Make makefiles embedded with within Eclipse or Visual Studio projects using Microsoft, Intel or GCC based compilers. If it is not possible to read these properties (e.g. if the makefile requires components which are not available), they will be read from the parent project file where possible instead. [Eclipse, VS2002/2003/2005/2008/2010/2012]
- Added support for preprocessor undefines in Eclipse/CDT project (.cproject) files.
- Generated PC-lint analysis command lines now include a -i directive for the "lnt" folder within the PC-lint installation folder (which contains the indirect files supplied with PC-lint) as well as the root folder. As a result, indirect files located within this folder will no longer be copied to the parent folder when selected for use in a std.lnt file via the Configuration Wizard.
- Added the Configuration Wizard "PC-lint Warning Level" page to allow the PC-lint warning level (-w<n>) to use in newly created std.lnt files to be defined.
- Replaced the Configuration Wizard "Select PC-lint Configuration Files" page with dedicated pages for compiler, library and author options indirect files.
- Added a mechanism to allow the Configuration Wizard to determine which PC-lint indirect files should be included by default within new std.lnt files created by the wizard. The selection is context sensitive based on the project type.
- PC-lint std.lnt indirect files generated by the Configuration Wizard now include comments to describe the purpose of what each directive within the file.
- The Configuration Wizard now offers a default filename for new PC-lint std.lnt files.
Analysis:
- Visual Lint now sets the priority of background analysis tasks directly rather than relying solely on the command line options of the corresponding analysis tool to do so. As a result, analysis tasks for tools such as CppCheck (which do not have a -background or equivalent option) now correctly run at a lower priority than previously, making the IDE more responsive.
- Optimised the analysis of files with a large volume of analysis results.
- When a project with a precompiled header file located outside of the project root is analysed using PC-lint, a -i directive for the folder containing it is now automatically included on the generated command line. This allows PC-lint to correctly locate the precompiled header file.
- Project (e.g. "$(ConfigName)") and system (e.g. "%HOMEDRIVE%") environment variables can now be used in custom analysis options.
- The source file pathnames reported in PC-lint per-project analysis are now fully qualified rather than relative pathnames.
User Interface:
- The About Box now shows the build platform (x86 or x64) as well as the build version.
- Added the ability to enable/disable inline highlighting of code elements referenced in reported analysis issues as well as customise the colours used. Note that: 1) enabling/disabling inline highlighting will not currently take effect in a given editor window until it has been reopened, and 2) changes in the colours will not currently take effect until the environment is restarted. [VS2002/2003/2005/2008/2010/2012] [Visual Lint Enterprise Edition]
- Visual Lint 4.0 builds now show the corresponding version of the Visual Lint online help following installation.
- Updated the icon for the "View Analysis History" button in the Analysis Status Display to reflect that used for the Analysis History Display.
- Added command bitmaps to menus where appropriate.
- Updated the appearance of selected items within the Displays, Options and Configuration Wizard. This change takes effect when Visual Lint is run on themed Windows Vista/Server 2008/7 systems; on unthemed, Windows Server 2003 and Windows XP systems the previous appearance is still used.
- Icons in the analysis results shown within the Analysis Results Display are now greyed along with the text while the analyis of a displayed file is in progress.
- "Stale" and "Incomplete" projects/files are now shown in the Analysis Status Display with greyscale icons to match the text colour.
- Tweaked the category icons used in the displays slightly. Also updated the default icons and colour scheme for Internal and Fatal Error issues.
- The background of icons in list controls (e.g. in the Analysis Status Display) is now painted to match the row background colour when running with visual styles under Windows Vista or later.
- Added the ability to display analysis trends to the Analysis Status Display. The trends available include: since last analysis, over a specified time interval and since a specified date.
- Updated the contents of Analysis Status Display infotips to include details of the issue IDs identified and changes in the number of issues.
- Added infotips to the Analysis History Display giving details of changes in the number of issues in each analysis results set as well as details of the issue IDs identified.
- The text and background colour of rows within the Analysis History Display history list now matches those used within the other displays.
- Removed the "unchanged" and "no issues" trend icons from the Analysis History Display for consistency with the trend icons in the Analysis Status Display.
- Added "Copy Infotip Text" commands to the Analysis Status, Results and History Display context menus to allow the text displayed when hovering over the list control to be copied to the clipboard.
- VisualLintConsole now appends a "(+/-x)" suffix to the text displayed when the analysis of a file or project completes if the issue count has changed since the previous analysis.
- The button controls within the Analysis Status and Results Displays now paint their backgrounds correctly after a theme or system colour change.
- The contents of Analysis Status Display infotips are now truncated at 80 characters per line to prevent unintended line wrapping.
- Added an option to determine whether Visual Lint should use the colour scheme of the host IDE where possible. The option is enabled in Visual Studio 2005 onwards. [VS2005/2008/2010/2012]
- Added a "Configure for..." combobox to the Config Wizard "Analysis Tools" page to allow users of VisualLintGui to select the toolchain they wish to configure it for. The new controls are hidden when Visual Lint is hosted within Visual Studio, Eclipse etc.
- Renamed the "Order" column in the Analysis Status Display as "No.".
- If an explicit selection has not been made in the Analysis Results Display (e.g. via the "File" combobox) the analysis results for the first file in the current project will be displayed.
- The Analysis Results Display now greys issue text and icons for stale files.
- Removed unnecessary updates of the "File" combobox in the Analysis Results Display.
- Revised the titles of several Configuration Wizard pages for consistency.
- Added an option to the "Displays" options page to allow new blog posts on the Riverblade website to be automatically displayed (using the internal browser in the environment where possible) when Visual Lint starts. The schedule is programmable, with the default check for new posts being every 7 days.
Commands:
- Added "Select All" and "Select None" commands to the Analysis Results Display context menu.
- Added keyboard shortcuts to "Select All" (Ctrl+A) and "Select None" (Esc) commands in the Analysis Status, Results and Statistics Display context menus.
- Added "Select All" (Ctrl+A) and "Select None" (Esc) commands to the Analysis History Display context menu.
Bug Fixes:
- Fixed a bug in the marker implementation which manifested in a "An exception has been encountered. This may be caused by an extension" message box when hosted in Visual Studio 2012 RC.
- The "Background Analysis" command in the Visual Studio Solution Explorer now acts on all selected items rather than just the first one.
- Fixed a bug which could case a "Warning: Unable to queue file for analysis" message to appear in the Status View when background analysis was enabled on a file which had up to date analysis results.
- The Analysis Results Display "All files" view now excludes analysis results for files which are stale or excluded unless the corresponding "Include stale/excluded files within analysis metrics" option is active.
- Fixed a bug in the Visual Studio plug-in which could cause the platform of the active solution configuration to be read incorrectly if the configuration contained active projects of more than one platform. [VS2005/2008/2010/2012]
- Modified the startup sequence of the Visual Studio plug-in when hosted in Visual Studio 2005 or 2008 to match that used in later versions rather than that used in Visual Studio .NET 2002 and 2003.
- Fixed a bug which could cause the contents of the Analysis Results Display to be refreshed incorrectly when an issue in a header file was double clicked.
- When a CodeGear C++ (.cbproj) project file is parsed, the "Base" configuration (if any) is now hidden so that it cannot be used as an analysis target.
- If the host IDE for a particular version of a CodeGear C++ (.cbproj) project file is not installed, a later one (if available) will now be referenced for analysis purposes instead.
- Fixed a bug in the Eclipse and Visual Studio plug-ins which could cause code editor markers for issues without fully qualified pathnames to fail to appear.
- Fixed a bug which caused legacy Eclipse/CDT project (.cdtproject/.cdtbuild) project files to be loaded in place of newer .cproject files.
Notwithstanding the long list of changes above, there are plenty of changes (e.g. updated report templates) that we unfortunately didn't get a chance to put into this build. We will be going back to those tasks over the next few months, and those for which it is practical to do so will of course be back-ported from our development branch to Visual Lint 4.0.
We welcome any feedback you can offer us on the new version.
|
Posted by Anna at 12:37 | Get Link |
Visual Lint 4.0 is coming... |
|
Wednesday, December 19, 2012
|
|
Fine tuning aside, development work on Visual Lint 4.0 is now effectively complete so a public build of the new version should be released early in the New Year.
Once released, Visual Lint 4.0 will supersede Visual Lint 3.5 as the latest public Visual Lint version. As a major update, existing per-user Visual Lint 3.x licences will need to be upgraded to work with this version (suitable upgrade licences will become available in our online store at the same time as the public version of the software, at the same cost as the existing v1.x/v2.x to v3.x upgrades). Floating and site licence customers (as well as priority support customers with qualifying active subscriptions) will receive new v4.x compatible licence keys around the same time.
However, the good news is that if you have purchased any full per-user Visual Lint licences since early October, these licences are already v4.x compatible so can start using the new version of the software as soon as it becomes available without any need to upgrade.
Full details of the changes in this version will be published soon, but for us the highlight is the arrival of VisualLintGui - a standalone interactive version of Visual Lint which makes possible the analysis of projects for development environments (e.g. CodeGear C++) for which a dedicated Visual Lint plug-in is not currently available:
We expect to add support for a number of embedded project types to VisualLintGui (and by inference VisualLintConsole/Visual Lint Build Server) within the coming months, so if there is a particular embedded environment whose projects you would like to be able to analyse in VisualLintGui and VisualLintConsole please let us know.
For new installations, Visual Lint 4.0 also includes a much improved Configuration Wizard which includes predefined PC-lint analysis configurations for most supported project types. Our Win32 suppression files (rb-win32-pclint8.lnt and rb-win32-pclint9.lnt) are also included in the installer.
Visual Lint 4.0 supports Visual Studio 2012 themes, so if you are using Visual Studio 2012 with the dark theme, Visual Lint 4.0 fits into the development environment far better than its predecessor. Similarly, if you are using an x64 version of Eclipse, Visual Lint 4.0 also includes an x64 version of the Visual Lint Eclipse plug-in.
We welcome any feedback you will be able to offer us on the new version once it has been released.
|
Posted by Anna at 16:18 | Get Link |
PC-lint compiler options files for Visual Studio 2012 |
|
Wednesday, November 28, 2012
|
|
Since Visual Studio 2012 was released we have been using the compiler options files for Visual Studio 2010 (co-msc100.lnt and co-msc100.h) when analysing code for it as a set for VS2012 was not available.
For the most part that works fine, however it does mean that code which checks _MSC_VER etc. to invoke conditional behaviour may not analyse correctly in some cases.
We have now submitted dedicated PC-lint 9.0 compiler options files for Visual Studio 2012 (co-msc110.lnt and co-msc110.h) with the correct values for these symbols as given by the Visual Studio 2012 RTM. The co-msc110.lnt file also includes some suppression directives for Visual Studio 2012 unit tests.
In due course they will become available in new PC-lint 9.0 installations and via the PC-lint 9.0 patch page, however for the time being Gimpel have made them available from the PC-lint 9.0 beta page at http://gimpel.com/html/90beta/.
Incidentally the current PC-lint 9.0 beta version (9.00i2) looks like it contains some fairly significant changes to MISRA, PCH and function call side effect analysis - so that is a pretty good indication of what to expect in the next public version (PC-lint 9.00j).
Details of the changes in PC-lint 9.00i2 are available at http://gimpel.com/html/90beta/fixes.txt.
|
Posted by Anna at 09:39 | Get Link |
ResOrg 2.0.3.18 has been released |
|
Tuesday, August 21, 2012
|
|
The following changes are included in this build:
- When a symbol which occurs multiple times in a Visual Studio 2010 ribbon resource is renumbered, all instances of the symbol will now be renumbered rather than just the first one.
- Added basic support for Visual Studio 2012. Note that this version of Visual Lint does not include support for the Visual Studio 2012 dark and light themes, and instead uses the default operating system theme. Direct support for Visual Studio 2012 themes is however under development – please see Visual Studio 2012 theme support for details.
|
Posted by Anna at 13:29 | Get Link |
Visual Studio 2012 theme support |
|
Thursday, Aug 2, 2012
|
|
One of the unexpected (and I would suggest from the comments, unwelcome) changes sprung on developers in the Visual Studio 2012 Beta back in February was the Metroification of the development environment.
However, eye candy (and eyesores!) come and go, and within that change is a more fundamental one - direct support for themes within the Visual Studio IDE. The Visual Studio 2012 Beta and RC include two themes - light (i.e. grey) and dark. Whilst the latter has an obvious appeal within the developer community (we all know devs who prefer green text on a black background) the former hasn't exactly been welcomed, to say the least.
Personally, rather than develop custom theme support for each tool individually I wish they'd just add a "dark" theme to Windows instead and respect the theme settings of the operating system. Obviously my view just isn't "cool" enough for the Visual Studio UX team, but I digress...
Although a campaign to retain the existing Visual Studio 2010 theme has been running on the UserVoice site since the beta arrived (see Add some color to Visual Studio 11 and Leave VS 2010 theme (and the theme editor extension) as an option) Microsoft have not indicated what - if any - changes will be made to the Visual Studio 2012 themes at RTM.
Our working assumption therefore has to be that the themes in the RTM will be broadly comparable with those in the RC (i.e. light and dark). We will find out whether that assumption is correct later this month, of course.
With that in mind, we have been working on theme support in the development branch for Visual Lint for some time now, and things are now beginning to come together:
As Visual Lint uses standard Win32 controls for most of the UI (which for the most part do not support custom text/background colours), to get this far we have had to write custom painted WTL checkbox, radio button, combobox and header controls in addition to the usual WM_CTLCOLORxxxx voodoo. Other UI elements such as menus, scrollbars, command buttons etc. yet haven't yet been looked at, but hopefully will be in due course (there seems to be some indication in the MSDN blogs that scollbars will be auto-themed by the RTM, but we'll see).
Within the displays themselves, the text and background colours of each item are checked for adequate contrast, and the text colour adjusted (by tweaking the luminance) automatically if need be.
Although the Visual Studio interfaces expose the colours used in the active theme (via IVsUIShell2::GetVSSysColorEx() ), they do not seem to provide any way of detecting if the theme has changed (or indeed, finding out which theme is actually running at the time). Our workaround for this is simply to reload the colour scheme whenever the "Tools|Options" command has been executed. We don't really care which theme is running after all - just what colour values it uses, and where.
Indeed, one of the first things we did while working on this was to dump all of the colour values used by the VS2012 RC light & dark themes, as well as the default VS2010 theme, into spreadsheets so we could use them for testing without firing up a host instance of the IDE (developing add-ins may be fun, but it is also much slower than working on your own executable).
Finally, it is a little known fact that the Visual Studio IDE has had colour scheme support internally for some time, so the scheme we have designed will also work with Visual Studio 2010 if you have the theme editor extension installed:
Needless to say, all of this is proving to be a major task, and it has therefore diverted significant resources from other things we should really have been working on this summer. As a consolation, the theme code we're developing is generic (albeit only on Windows), so can also be used with Eclipse 4.0 (I note that themes are coming to that IDE as well) when the time comes.
Another obvious benefit is of course that there's potentially at least one new CodeProject article (want a themed XP button with a custom background colour? We know how to do it now) in all of this once the dust settles and the inevitable bugs have crawled away. It's about time I wrote a new one, anyway.
Once Visual Lint theme support is complete, we'll obviously also take a look at ResOrg. Beyond that, I think a new article is a foregone conclusion, once we've cleaned the code up a bit and built a good enough demo project...
|
Posted by Anna at 12:45 | Get Link |
Visual Studio 2012 RTM release date announced |
|
|
Well, it's official - Visual Studio 2012 has been released to manufacturing and the RTM build should become available to MSDN subscribers on 15th August:
...but: what's a virtual launch event, and (more importantly, for those who regularly attend such events) does it entail free stuff?
We've been working on support for the new IDE version in the Visual Lint development branch since February, and quite honestly with all of the IDE changes it's been like pulling teeth (a different sort of teeth from the bloated buggy ones we pulled while working with the VS2010 beta, but teeth regardless).
Although there's no word yet on whether the RTM is any less grey than the RC (though the smart money says they're not listening, thankfully it doesn't look like the Beta anymore) it's a done deal either way, and as such we're stuck with it until the next fad (Metro++ ? Metro# ?) comes along.
Regardless of how the RTM ends up looking, we will be releasing Visual Lint 3.5 and ResOrg 2.0 builds compatible with it as soon as we can confirm that the RTM does not require any code changes over the VS2012 release candidate (which we have already tested against, obviously).
Note that this version will not (yet) include support for Visual Studio 2012 themes - dropping that particular bombshell on us at beta in February was just too short notice to develop and test the control and framework changes necessary to do this in time for the RTM.
However, theme support is being actively worked on in our development branch (see http://pic.twitter.com/DfGoTeD3) and will come later (more on that in the next blog post, with a possible CodeProject article as a nice spin off).
|
Posted by Anna at 11:08 | Get Link |
|
Monday, June 11, 2012
|
|
Well, the Visual Studio 11 saga (or would it be better described as a slow motion trainwreck?) rumbles ominously on. We had very high hopes for this release (mostly relating to C++ 11 support and far better performance than the abominably sluggish VS2010), but the way it is going is really putting us off - sufficiently so that we are now seriously considering a move to an alternative complier within the VS2008 IDE as an alternative to VS2012.
First it was the forced change in the Visual C++ runtime which rendered it incompatible with Windows XP hosts (XP being still far more common than you would expect with customers), then the UI styling changes in the Beta (see my earlier blog post UI changes in Visual Studio 11 - what do you think?) and most recently the hoo-hah over Visual Studio Express being kneecapped to no longer be capable of developing non-Metro projects (which could obviously have significant impacts on the open source ecosystem that many of us rely on).
Far, far less importantly, the expectation that Visual Studio 11 would be branded "Visual Studio 2012" has been confirmed - which means it will be out this year (my bet is on November).
Naming aside, the most recent developments are that MS have relented slightly on the "light" (i.e. waves of greyness) theme included in the Beta, conceded that runtime support for Windows XP SP3 is desirable but won't be available at RTM (but may be as an SP or patch), and have relented over the change to Visual Studio Express - promising something called "Visual Studio Express 2012 for Windows Desktop". The hated ALL CAPS toolwindow titles have been removed, only to reappear on the main menu (wtf?).
If you have time to burn you can follow the whole sorry saga through the following posts (and the associated comments, of which there are several thousand) on the Visual Studio team blog:
I despair sometimes, I really do. This whole saga seems to be a textbook example of how to take a promising product release, and then shoot yourself in the foot not once but as many times as you possibly can.
Against this unsettling background we of course have to decide how best to support VS2012 in both Visual Lint and ResOrg. Although the basics are already in place (as you can see in the screenshot below of Visual Lint running within the Visual Studio 2012 RC) there is obviously much still to do if our extensions are going to "fit in" within the new version of the IDE:
However, given the changeable nature of the VS2012 RTM environment, we are holding off adding support for specific Visual Studio themes for now (though if Microsoft relent and include a VS2010 style theme, Visual Lint and ResOrg will obviously look right at home), so at present we can't say if or when the styling of our products will match that of the built in themes (icons, grey/black backgrounds and all).
Part of the problem is not just the likelyhood of the IDE styling changing again in the RTM in response to negative feedback, but also the very practical point that the Visual Studio EnvDTE interfaces we use in our products do not seem to offer any support for theme switching.
For example, once an add-in has installed its commands, there is no documented way to change the icons on them other than by destroying and recreating the commands - (which requires admin privileges and will muck up your toolbar layout). Nor is there a theme changed event (at least, not one I can find).
It's a mess, quite frankly. We are however keeping a close eye on developments (and in particular on Carlos Quintero's blog, as the techniques for handling theme switching will almost certainly be documented there first) so things may well change quite quickly between now and the RTM.
However, for the time being the screenshot above is representative of what you can expect from both ResOrg and Visual Lint within the Visual Studio 2012 environment.
So what do you think about Visual Studio 2012 so far? Feel free to tell us by email or via Twitter (@annajayne).
|
Posted by Anna at 11::22 | Get Link |
|
Wednesday, April 25, 2012
|
|
Another great ACCU Conference passes, and with it the usual mix of informative and entertaining sessions, great networking, barhopping, and far too much food and (real!) beer.
As ever the schedule was varied, the sessions interesting (for example we attended one on writing Jenkins plug-ins, which is obviously very relevant to Visual Lint Build Server) and entertaining (Tim Lister's bonus lightning talk on "Software projects are hurricanes", or Alan Kelley's passionate rant on software rewrites. It goes without saying that the company was as fun and inspiring as ever.
We learnt a bit more about C++ 11 (my copy of the second edition of "The C++ Standard Library is now resting on my desk alongside Anthony Williams' recently arrived "C++ Concurrency in Action" and Allan Kelley's "Business Patterns for Software Developers"...), a lot about other stuff and generally put the world to rights, using Twitter as our medium, and beer as our lubrication.
There was even a little free pizza and beer floating around - the latter notably during Olve Maudal's "C++ 11 Pub Quiz" which was (rather appropriately) held in the hotel bar.
However, for me the absolute highlight had to be Bob Martin's "A Requiem for C", which was so funny he had us laughing almost continuously all of the way through. The fact that he was wearing a headcam for the whole thing (watching you watching me...") just added to the hilarity. More than one delegate was noted to comment that his nickname should now be "Uncle Borg" rather than "Uncle Bob"...
On Wednesday evening I took the plunge and did my first lightning talk, entitled "Don't let the Big Ball of Mud sneak Up on you". Talking to a room of 400 people with a microphone and a 5 minute deadline is an interesting place to be in, but it was great fun and I'd heartily recommend it if you fancy trying your hand at speaking.
Skillsmatter filmed some of the sessions, so video should be online soon - as will slides from the presenters themselves.
Next up for us should be Agile on the Beach in Falmouth this September.
|
Posted by Anna at 08:30 | Get Link |
Introducing VisualLintGui |
|
Friday, April 20, 2012
|
|
If you have been following me (@annajayne) on Twitter, you may have noticed me talking about something called "VisualLintGui".
This is actually the second of two projects (the first being VisualLintConsole - the command line version of Visual Lint) we got underway after the release of Visual Lint 3.0.
Now that VisualLintConsole (the command line version of Visual Lint) is out in the wild, we have turned our attention to VisualLintGui. This is, as the name suggests, a standalone Visual Lint application with a graphical user interface - basically a text editor focused on code analysis:
Although it has been fully functional in terms of analysis functions for quite some time, until recently we were not able to devote a great deal of time to the details of its user interface. That has now changed, and since February VisualLintGui has gained many essential capabilities including a syntax colouring editor with analysis issue markers, MDI tabs, Find/Replace and Source/Header flip to name but a handful of the more obvious recent changes.
VisualLintGui is currently capable of analysing projects for Visual Studio, Visual C++, Eclipse, CodeGear C++ and AVR Studio 5.0, but it can obviously potentially analyse a far wider variety of codebases than that.
Indeed, one of the reasons we have been keen to develop it is to provide a way to support embedded IDEs for which developing a Visual Lint plug-in is not a viable proposition. As such we expect to add support for further project and workspace file formats as and when our customers need them.
VisualLintGui currently resides in our Visual Lint development branch, but given the recent pace of development on it we are likely to look at porting it back into Visual Lint 3.5 in the not too distant future.
In the meantime we will have a development build on our stand at the ACCU Conference next week, so if you are going please do come and take a look.
|
Posted by Anna at 15:23 | Get Link |
UI changes in Visual Studio 11 - what do you think? |
|
Friday, February 24, 2012
|
|
A very interesting MSDN blog post about the forthcoming Visual Studio 11 landed this morning titled Introducing the New Developer Experience.
The bottom line - it's grey...very grey - even the icons, which are monochrome glyphs:
As someone who finds vast expanses of grey hard on the eye my first instinctive reaction was "Yuck!". I personally find the Visual Studio 2008 visual style to be about right for me - Visual Studio 2010 feels a bit too glaring (as well as being dog slow to start, but that's another debate....), and I really don't think I could use an IDE as grey as this one all day without feeling quite low about the whole experience.
We all have to make up our own minds, of course - and this isn't necessarily representative of what we will have to use on a daily basis. I do have to wonder if MS are trying just a little too hard to "reinevent the world" again though - and as a plug-in developer I certainly don't relish having to have to maintain yet another set of icons (monochrome this time) just for Visual Studio 11!
If you use Visual Studio on a daily basis, it might be a good idea to make Microsoft aware of your thoughts on such a major change in the user interface before they become entrenched in the product.
|
Posted by Anna at 10:57 | Get Link |
ResOrg 2.0 has been released |
|
Sunday, January 22, 2012
|
|
Well, it's done. After a rather extended incubation period ResOrg 2.0.0.15 (the first public ResOrg 2.0 build) was uploaded earlier this morning, and the ResOrg product pages updated to match.
If you have used ResOrg 1.x before, you will notice that the user interface of ResOrg 2.0 is subtly different from its predecessor - notably in the Visual Studio plug-in (which now of course supports Visual Studio 2008 and 2010...).
In particular, the old (and rather limited) "ResOrg.NET Explorer" toolwindow has been replaced by a much more useful "Symbol Files Display" which is also available in the standalone application.
If you are using Visual Studio 2010, it might interest you to know that ResOrg 2.0 can automatically update Ribbon Designer (.mfcribbon-ms) files when an ID referenced in a ribbon resource is renumbered.
I won't include any screenshots in this post as a couple of good ones were included in the previous post, however if you are reading this post in your RSS reader you can find them at http://www.riverblade.co.uk/blog.php?archive=2011_12_01_archive.xml#2011121501.
|
Posted by Anna at 11:24 | Get Link |
Visual Lint and Atmel AVR Studio 5 |
|
Friday, September 16, 2011
|
|
From our perspective one of the more intriguing embedded environments to appear recently is Atmel's AVR Studio 5.
When I first saw a screenshot of this IDE (it was mentioned in a post in the CodeProject Lounge) it was immediately obvious that this was some sort of Visual Studio derivative.
In fact, although it uses GCC toolchains, the environment is based on the Visual Studio 2010 isolated shell (which incidentally is something we briefly considered using ourselves for a future standalone GUI version of Visual Lint, but decided against because of its complexity and the size of the download).
It obviously occured to us then that as a Visual Studio derivative, it shouldn't be too difficult to get Visual Lint running within it. The first step was obviously to install the IDE in a VM (XP SP3 - doesn't XP look a bit old these days...?) and experiment with some projects.
AVR Studio 5 codebases uses the Visual Studio 2010 solution file format (albeit rebadged as a .avrsln file) and a new MSBuild based project file format (.avrgccproj), so the first thing we obviously had to do was implement parsers for these files (something that will also benefit LintProject Pro, of course). Once that was done, we turned our attention to getting Visual Lint to load within the IDE itself.
This turned out to be fairly straightforward. Although AVR Studio 5 does not seem to support COM add-in registration in HKEY_LOCAL_MACHINE (which is how the Visual Lint add-in registers in Visual Studio), the corresponding registration in HKEY_CURRENT_USER\Software\Atmel\AVRStudio\5.0\AddIns does work. Although this is problematical from an installation point of view (see my previous post on the Visual Studio 11 Developer Preview) it is not a showstopper by any means.
With manual add-in registration in place, Visual Lint loaded within the IDE. Although a few minor tweaks were needed to work around issues such as AVR reporting itself as "Visual Studio Express Edition, version 1.0" (which caused the version detection code in Visual Lint to default to 16 colour command bitmaps!) those were easily addressed.
As a result, we now have AVR Studio 5 running with a development build of Visual Lint:
Although we still have quite a bit to do (not least the code editor markers and installer) before AVR Studio 5 can become a supported host environment for Visual Lint this is a very promising start. Needless to say, beta testers are welcome.
|
Posted by Anna at 16:17 | Get Link |
|