Releases: maroontress/StyleChecker
Releases · maroontress/StyleChecker
Fix NoSingleSpaceAfterTripleSlash analyzer
Requirements to run
- Visual Studio 2022 (17.10.5) or .NET 8 (SDK 8.0.303)
Requirements to build
- Visual Studio 2022 (17.10.5) or .NET 8 (SDK 8.0.303)
Changed
-
Fix NoSingleSpaceAfterTripleSlash analyzer not to issue diagnostics when there are characters that start with a whitespace character and contain a non-whitespace character between
///
and an XML element, as in the following code:/// Hello <summary>World.</summary> /// See <seealso cref="Bad"/> public static void Bad() { }
Note that StrayText analyzer still issues diagnostics against the
Hello
andSee
in the example.
C# 12 Support and New Enhancements
Requirements to run
- Visual Studio 2022 (17.9.6) or .NET 8 (SDK 8.0.204)
Requirements to build
- Visual Studio 2022 (17.9.6) or .NET 8 (SDK 8.0.204)
New
- Handle C# 12 source codes
- Add NoSpaceAfterBrace and NoSpaceBeforeBrace analyzers
- EqualsNull analyzers provides a new option of Code Fix to replace:
… != null
or… != null
with the property pattern… is {}
or!(… is {})
- IsNull analyzers provides a new option of Code Fix to replace:
!(… is null)
or… is null
with the property pattern… is {}
or!(… is {})
Removed
- Remove the VSIX project from the solution
Changed
- Work with Visual Studio 2022
- Update dependent packages
- Improve installation: no longer need to manually edit
csproj
files - Perform CI with GitHub Actions
- Switch
LangVersion
to12.0
- Reformat source files with File-scoped namespace declarations
- Refactor with C# 12 features
- Enable
EnforceExtendedAnalyzerRules
- Add test cases
Fixed
- Fix warnings
- Fix SingleTypeParameter analyzer to ignore the following cases:
- The type name is
T
and it has one type parameter (e.g.,public class T<U> …
) - The type
T
is already contained in the type or member
- The type name is
- Fix documents
Add UninitializedLocalVariable and NotOneShotInitialization analyzers.
Requirements to run
- Visual Studio 2017 (15.9) or .NET Core 2.1 (2.1.500)
Requirements to build
- Visual Studio 2019 (16.7)
New
- Add UninitializedLocalVariable analyzer. See the description for details.
- Add NotOneShotInitialization analyzer. See the description for details.
Add StrayText and StinkyBooleanExpression analyzers.
Requirements to run
- Visual Studio 2017 (15.9) or .NET Core 2.1 (2.1.500)
Requirements to build
- Visual Studio 2019 (16.5)
New
- Add StrayText analyzer. See the description for details.
- Add StinkyBooleanExpression analyzer. See the description for details.
Fixed
- NoSingleSpaceAfterTripleSlash:
- Allow a tab character in addition to a space character after '
///
'. - Ignore the top-level text in the Documentation Comments, which is not inside any XML tag.
- Allow a tab character in addition to a space character after '
- TypeClassParameter:
- Fix the analyzer to emit diagnostics to the private methods with the editor of Visual Studio 2019.
- Fix the code fix provider to rename the method that has the same method signature as the modified method.
Changed
- Fix NoSingleSpaceAfterTripleSlash analyzer to emit the diagnostics whose location is just after '
///
'.
Fix some bugs.
Requirements to run
- Visual Studio 2017 (15.9) or .NET Core 2.1 (2.1.500)
Requirements to build
- Visual Studio 2019 (16.5)
Fixed
- Fix
DiscardingReturnValue, EmptyArrayCreation, EqualsNull, IneffectiveReadByte, RedundantTypedArrayCreation, TypeClassParameter, and UnnecessaryUsing analyzers possibly throwing an NRE. - RedundantTypedArrayCreation:
- Fix typo in the diagnostic messages.
- Fix the CodeFix provider to correct nested arrays.
- Improve diagnostic messages.
- StaticGenericClass:
- Fix the CodeFix provider to rename the type name to the unique name when the other type that has the same name already exists.
- Underscore:
- Fix typo in the diagnostic messages.
- Improve diagnostic messages, especially just for the underscore that is not a discard.
Fix the bug of the NotDesignedForExtension analyzer.
Requirements to run
- Visual Studio 2017 (15.9) or .NET Core 2.1 (2.1.500)
Requirements to build
- Visual Studio 2019 (16.0)
Fixed
- Fix the NotDesignedForExtension analyzer to emit the diagnostics with the virtual method that has a non-empty block.
- Fix the ByteOrderMark analyzer to handle
UnauthorizedAccessException
. - Fix and improve documents, adding a default severity and the cover image to each description of diagnostics.
Add NoSingleSpaceAfterTripleSlash and NoDocumentation analyzers.
Requirements to run
- Visual Studio 2017 (15.9) or .NET Core 2.1 (2.1.500)
Requirements to build
- Visual Studio 2019 (16.0)
New
- Add NoSingleSpaceAfterTripleSlash analyzer and code fix provider. See the description for details.
- Add NoDocumentation analyzer. See the description for details.
Changed
- Fix ByteOrderMark analyzer to ignore I/O errors.
Fixed
- Fix DiscardingReturnValue analyzer and IneffectiveReadByte code fix provider to be built on the Linux platform.
- Fix EmptyArrayCreation, EqualsNull and IsNull analyzers to be in the Refactoring category.
Add ByteOrderMark analyzer and fix bugs.
Requirements to run
- Visual Studio 2017 (15.9) or .NET Core 2.1 (2.1.500)
Requirements to build
- Visual Studio 2017 (15.9)
New
- Add ByteOrderMark analyzer. See the description for details.
Changed
- Remove StyleChecker.Annotations and Maroontress.Oxbind from the source tree. Instead, integrate them with NuGet.
Fixed
- Fix EqualsNull CodeFix provider to show the correct title message.
- Fix SingleTypeParameter analyzer to count a verbatim symbol.
- Fix UnusedVariable analyzer to count local function's parameters.
- Fix UnusedVariable analyzer to count parameters of the constructors and methods of
struct
s.
Add EqualsNull and IsNull analyzers and fix some bugs.
Requirements to run
- Visual Studio 2017 (15.9) or .NET Core 2.1 (2.1.500)
Requirements to build
- Visual Studio 2017 (15.9)
New
- Add EqualsNull analyzer. See the description for details.
- Add IsNull analyzer. See the description for details.
Changed
- Fix UnnecessaryUsing analyzer to count more classes:
System.IO.StringReader
,System.IO.StringWriter
andSystem.IO.UnmanagedMemoryAccessor
.
Fixed
- Fix bugs of RedundantTypedArrayCreation, PostIncrement, EmptyArrayCreation, IneffectiveReadByte, StaticGenericClass, TypeClassParameter and UnnecessaryUsing code fix providers to work in some cases. For example, the EmptyArrayCreation code fix provider is fixed to work if there is an empty array creation as an argument.
- Fix bugs of TypeClassParameter analyzer to count the
typeof
operator with the operand that isstatic
class.
Add RedundantTypedArrayCreation and EmptyArrayCreation analyzers.
Requirements to run
- Visual Studio 2017 (15.9) or .NET Core 2.1 (2.1.500)
Requirements to build
- Visual Studio 2017 (15.9)
New
- Add RedundantTypedArrayCreation analyzer. See the description for details.
- Add EmptyArrayCreation analyzer. See the description for details.