Typo.Analyzers
0.1.1
dotnet add package Typo.Analyzers --version 0.1.1
NuGet\Install-Package Typo.Analyzers -Version 0.1.1
<PackageReference Include="Typo.Analyzers" Version="0.1.1"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="Typo.Analyzers" Version="0.1.1" />
<PackageReference Include="Typo.Analyzers"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add Typo.Analyzers --version 0.1.1
#r "nuget: Typo.Analyzers, 0.1.1"
#:package Typo.Analyzers@0.1.1
#addin nuget:?package=Typo.Analyzers&version=0.1.1
#tool nuget:?package=Typo.Analyzers&version=0.1.1
Typo.Analyzers
Roslyn analyzers for copy-paste and typo bugs that the common open-source .NET analyzers don't cover. They load in Visual Studio 2026 and every .NET 10 SDK, whatever framework the project targets.
Rules
Each ID links to examples on GitHub.
| ID | Finds | Severity |
|---|---|---|
| TYPO0001 | Identical sub-expressions | Warning |
| TYPO0002 | Value compared with itself | Warning |
| TYPO0003 | Condition repeated in an if-else chain | Warning |
| TYPO0004 | if statement repeats the condition of an earlier one |
Warning |
| TYPO0005 | Condition already checked by an enclosing if |
Warning |
| TYPO0006 | Both branches are identical | Warning |
| TYPO0007 | Two branches do the same thing | Warning |
| TYPO0008 | Value overwritten before it is used | Warning |
| TYPO0009 | Loop always reads the same element | Warning |
| TYPO0010 | Comparison with a string of the wrong case | Warning |
| TYPO0011 | Probable unedited copy in a sequence of similar lines | Info |
| TYPO0012 | Probable unedited copy in a pair of similar lines | Info |
| TYPO0013 | Comparison operand repeated on the other side | Info |
| TYPO0014 | Condition checks the source of the variable just assigned | Info |
Options
TYPO0012 reads one option from .editorconfig, which limits where it looks for pairs:
[*.cs]
TYPO0012.scan = declarations, arguments
The values are statements, declarations, initializers, conditions and arguments, and the default is all five.
Building with -p:WarningLevel=0 hides every analyzer diagnostic, these included.
The README lists the known gaps.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.