Release announcement: StyleCop+ 0.11

Jan 6, 2011 at 9:34 AM
Edited Jan 6, 2011 at 9:48 AM

Dear users,

It's a pleasure to announce that new StyleCop+ version has been released:
StyleCop+ 0.11

Release Candidate

StyleCop+ appeared a year ago and many useful features have been added since then.
All existing functionality seems to be rather stable, so the next StyleCop+ release will probably 
be versioned as 1.0 (and marked as "Stable", not "Beta").

What's new in this release?

Special UI for custom rules
New special UI was created for managing custom rules and their settings.
The most important thing here is that each rule can now be provided with its own rich settings control (just click through the rules to see their settings in "Rule Options" area).
And a small example illustrates what this rule is about.

Displaying warnings
Another new UI feature is displaying warnings in different situations that could be incorrect or unuseful for you.

Changes in custom rules

  • Rule SP2001: CheckAllowedIndentationCharacters was improved with setting specifying whether you are using tabs or spaces.
    It also allows you enabling the mode which allows to indent one lines by spaces and others by tabs, which could be extremely useful for supporting legacy code.
  • New rule SP2002: CheckWhetherLastCodeLineIsEmpty was added (thanks hfrmobile for the proposal!).
    It will check whether your last code line ends with the line-break or not.
  • New rules SP2100: CodeLineMustNotBeLongerThan, SP2101: MethodMustNotContainMoreLinesThan and SP2102: PropertyMustNotContainMoreLinesThan were added (thanks hfrmobile and andychurchill for the proposal!).
    They provide you with limitation possibilities for better readability and maintability.

More improvements and bug-fixes

  • Not all auto-generated files were excluded from checking (thanks keebbitt for bug-report!).
  • Checking names for local declarations was not working for destructors.
  • Fixed some bugs related to StyleCop+ rules inheritance.
  • Added "X" to the deafult abbreviations list.
    For example, LINQ2XML contains such classes as XElement, which could be allowed by the majority of the users.

Thank all of you guys who gave interesting proposals and useful feedback!
I hope we won't stop on that!

Best regards,
Oleg Shuruev