Add column for default diagnostic severity

This commit is contained in:
Andrew Arnott 2019-07-26 22:24:50 -06:00 коммит произвёл GitHub
Родитель a25ce38cd9
Коммит 3304714fc9
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 28 добавлений и 22 удалений

Просмотреть файл

@ -3,28 +3,28 @@
The following are the diagnostic analyzers installed with the [Microsoft.VisualStudio.Threading.Analyzers][1]
NuGet package.
ID | Title | Severity | Supports
---- | --- | --- | --- |
[VSTHRD001](VSTHRD001.md) | Avoid legacy thread switching methods | Critical | [1st rule](../threading_rules.md#Rule1)
[VSTHRD002](VSTHRD002.md) | Avoid problematic synchronous waits | Critical | [2nd rule](../threading_rules.md#Rule2)
[VSTHRD003](VSTHRD003.md) | Avoid awaiting foreign Tasks | Critical | [3rd rule](../threading_rules.md#Rule3)
[VSTHRD004](VSTHRD004.md) | Await SwitchToMainThreadAsync | Critical | [1st rule](../threading_rules.md#Rule1)
[VSTHRD010](VSTHRD010.md) | Invoke single-threaded types on Main thread | Critical | [1st rule](../threading_rules.md#Rule1)
[VSTHRD011](VSTHRD011.md) | Use `AsyncLazy<T>` | Critical | [3rd rule](../threading_rules.md#Rule3)
[VSTHRD012](VSTHRD012.md) | Provide JoinableTaskFactory where allowed | Critical | [All rules](../threading_rules.md)
[VSTHRD100](VSTHRD100.md) | Avoid `async void` methods | Advisory
[VSTHRD101](VSTHRD101.md) | Avoid unsupported async delegates | Advisory | [VSTHRD100](VSTHRD100.md)
[VSTHRD102](VSTHRD102.md) | Implement internal logic asynchronously | Advisory | [2nd rule](../threading_rules.md#Rule2)
[VSTHRD103](VSTHRD103.md) | Call async methods when in an async method | Advisory
[VSTHRD104](VSTHRD104.md) | Offer async option | Advisory
[VSTHRD105](VSTHRD105.md) | Avoid method overloads that assume `TaskScheduler.Current` | Advisory
[VSTHRD106](VSTHRD106.md) | Use `InvokeAsync` to raise async events | Advisory
[VSTHRD107](VSTHRD107.md) | Await Task within using expression | Advisory
[VSTHRD108](VSTHRD108.md) | Assert thread affinity unconditionally | Advisory | [1st rule](../threading_rules.md#Rule1), [VSTHRD010](VSTHRD010.md)
[VSTHRD109](VSTHRD109.md) | Switch instead of assert in async methods | Advisory | [1st rule](../threading_rules.md#Rule1)
[VSTHRD110](VSTHRD110.md) | Observe result of async calls | Advisory
[VSTHRD111](VSTHRD111.md) | Use `.ConfigureAwait(bool)` | Advisory
[VSTHRD200](VSTHRD200.md) | Use `Async` naming convention | Guideline | [VSTHRD103](VSTHRD103.md)
ID | Title | Severity | Supports | Default diagnostic severity
---- | --- | --- | --- | --- |
[VSTHRD001](VSTHRD001.md) | Avoid legacy thread switching methods | Critical | [1st rule](../threading_rules.md#Rule1) | 🔡 Warning
[VSTHRD002](VSTHRD002.md) | Avoid problematic synchronous waits | Critical | [2nd rule](../threading_rules.md#Rule2) | Warning
[VSTHRD003](VSTHRD003.md) | Avoid awaiting foreign Tasks | Critical | [3rd rule](../threading_rules.md#Rule3) | Warning
[VSTHRD004](VSTHRD004.md) | Await SwitchToMainThreadAsync | Critical | [1st rule](../threading_rules.md#Rule1) | Error
[VSTHRD010](VSTHRD010.md) | Invoke single-threaded types on Main thread | Critical | [1st rule](../threading_rules.md#Rule1) | Warning
[VSTHRD011](VSTHRD011.md) | Use `AsyncLazy<T>` | Critical | [3rd rule](../threading_rules.md#Rule3) | Error
[VSTHRD012](VSTHRD012.md) | Provide JoinableTaskFactory where allowed | Critical | [All rules](../threading_rules.md) | Warning
[VSTHRD100](VSTHRD100.md) | Avoid `async void` methods | Advisory | | Warning
[VSTHRD101](VSTHRD101.md) | Avoid unsupported async delegates | Advisory | [VSTHRD100](VSTHRD100.md) | Warning
[VSTHRD102](VSTHRD102.md) | Implement internal logic asynchronously | Advisory | [2nd rule](../threading_rules.md#Rule2) | Info
[VSTHRD103](VSTHRD103.md) | Call async methods when in an async method | Advisory | | Warning
[VSTHRD104](VSTHRD104.md) | Offer async option | Advisory | | Info
[VSTHRD105](VSTHRD105.md) | Avoid method overloads that assume `TaskScheduler.Current` | Advisory | | Warning
[VSTHRD106](VSTHRD106.md) | Use `InvokeAsync` to raise async events | Advisory | | Warning
[VSTHRD107](VSTHRD107.md) | Await Task within using expression | Advisory | | Error
[VSTHRD108](VSTHRD108.md) | Assert thread affinity unconditionally | Advisory | [1st rule](../threading_rules.md#Rule1), [VSTHRD010](VSTHRD010.md) | Warning
[VSTHRD109](VSTHRD109.md) | Switch instead of assert in async methods | Advisory | [1st rule](../threading_rules.md#Rule1) | Error
[VSTHRD110](VSTHRD110.md) | Observe result of async calls | Advisory | | Warning
[VSTHRD111](VSTHRD111.md) | Use `.ConfigureAwait(bool)` | Advisory | | Hidden
[VSTHRD200](VSTHRD200.md) | Use `Async` naming convention | Guideline | [VSTHRD103](VSTHRD103.md) | Warning
## Severity descriptions
@ -34,6 +34,12 @@ Critical | 1-99 | Code issues that often result in deadlocks
Advisory | 100-199 | Code that may perform differently than intended or lead to occasional deadlocks
Guideline | 200-299 | Code that deviates from best practices and may limit the benefits of other analyzers
## Default diagnostic severity legend
| Icon | Meaning |
| ---- | ------- |
| 🔡 | The analyzer only produces diagnostics when configured.
## Configuration
Some analyzers' behavior can be configured. See our [configuration](configuration.md) topic for more information.