dotnet / dotnet/roslyn

All IDExxxx rules should have a named EditorConfig option

Open
#83,526 12 comments 0 reactions 0 assignees View on GitHub
Area-IDE Feature Request
Dominant language
C#
Stars
20.7k
Forks
4.3k
PR merge metrics
PR metrics pending

Description

## Summary

The table on the [code-style rules page](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/) shows that there are IDExxxx rules that do not have a named EditorConfig option (`dotnet_*` or `csharp_*`). Those missing options should be created.

## Background and Motivation

I know that I can still configure those rules in the .editorconfig file via their rule ID, e.g. `dotnet_diagnostic.IDExxxx.severity = warning`. But that is not consistent when mixed with named options and requires a comment to be readable without external documentation.
If all rules would have a named option then the configuration in the .editorconfig file would be more consistent and readable.

## Proposed Feature

All rules listed on the [code-style rules page](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/) (except those which are explicitly deprecated) should be configurable via a named EditorConfig option (`dotnet_*` or `csharp_*`).
Maybe "all" is too strict. I guess there are exceptions or deprecated rules. But at least the useful rules should have a named option.

Additionally the following IDE-only rules should also have a named option:
- JSON001
- JSON002
- RE0001

(Those rules are not in the table of rules but are mentioned in the "note" box below the table.)

Contributor guide

Open the contributing guide

Research direction

Start with the code-style rules table and its note box, then compare each non-deprecated IDE rule, including JSON001, JSON002, and RE0001, with the named .editorconfig options currently documented. Done means the applicable rules have consistent dotnet_* or csharp_* options and the code-style rules page reflects the complete set of exceptions.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.