web-dev-qa-db-ja.com

非同期メソッドが 'Async'で終わっていない場合、どのようにしてVisual Studioで警告を受け取るのですか?

"Async"を終了しない非同期メソッドを作成するたびに、Visual Studioから命名警告を受け取るようにするにはどうすればよいですか。

これは非同期メソッドのための推奨される規約ですが、私はしばしば自分自身がその接尾辞を追加するのを忘れているので、警告が役に立つでしょう。

68
Jez

からオプション

  • テキストエディタ基本コードスタイル→命名
  • 仕様の管理新しい仕様の追加を選択します。
  • --- Methodを選択し、すべてのユーザー補助オプションをチェックし、ModifiersからAsyncを選択します。
  • 非同期メソッドとしてタイトルを付けて保存
  • さて--- Manage Naming Stylesに入り、New Styleを追加してください。 Asyncをサフィックスとして追加し、AsyncSuffixという名前を付けて保存します。
  • 今すぐプラス記号を押して、新しい名前を作成します。仕様をAsync Methodとして選択し、必要なスタイルをAsyncPostfixとして選択し、Severity as Suggestorとして選択します。
  • クリック OK と保存

Enter image description here

Enter image description here

Enter image description here

Visual Studioのテキストエディタ設定に加えて、移植可能なカスタムエディタ設定.editorconfigファイルを作成できます。 Visual Studio 2017は.editorconfigファイルをネイティブにサポートしています。

.editorconfigファイルをリポジトリの一部として作成し、それをリポジトリにプッシュすることで、Visual Studioのテキストエディタの設定に関係なく、そのコードベースで機能するすべての人に一貫したコーディングスタイルを適用できます。

個人のプロジェクトで使用しているコーディング規約は、チームのプロジェクトで使用している規約とは異なる場合があります。 EditorConfigファイルを使用すると、各シナリオの設定を可能にすることでこの問題を解決できます。

EditorConfig設定は、グローバルなVisual Studioテキストエディタ設定よりも優先されます。

そうするには:

  1. ソリューションエクスプローラで、命名規則を適用する範囲に応じて、ソリューション、プロジェクト、またはプロジェクト内のフォルダを選択します。

  2. 右クリックして新しい項目を追加を選択するか、またはを押します。 Ctrl + Shift + A

  3. 一般カテゴリからテキストファイルファイルを選択し、ファイル名として.editorconfigを入力します。

注: ファイルの場所 は、ソリューションの親フォルダーにも存在できます。それを解決する必要はありません。

ファイルに次の内容を貼り付けます。

# Top-most EditorConfig file
root = true

[*.{cs,vb}]

# Async methods should have "Async" suffix
dotnet_naming_rule.async_methods_end_in_async.symbols = any_async_methods
dotnet_naming_rule.async_methods_end_in_async.style = end_in_async
dotnet_naming_rule.async_methods_end_in_async.severity = suggestion

dotnet_naming_symbols.any_async_methods.applicable_kinds = method
dotnet_naming_symbols.any_async_methods.applicable_accessibilities = *
dotnet_naming_symbols.any_async_methods.required_modifiers = async

dotnet_naming_style.end_in_async.required_prefix = 
dotnet_naming_style.end_in_async.required_suffix = Async
dotnet_naming_style.end_in_async.capitalization = Pascal_case
dotnet_naming_style.end_in_async.Word_separator = 

詳しくは:

29
Reza Aghaei