Visual StudioによるEditorConfigの統合と.ネット


あなたがよく知らないならばEditorConfig ファイルは、あなたが行方不明です
今日は、基本的な機能のいくつかを通して、Visual Studioと. NET Frameworkによってサポートされている形式に対する拡張機能をいくつか紹介します.NETツール.

基礎
EditorConfigはいくつかのコーディングスタイルを定義する方法です.editorconfig コードリポジトリに.そこのエディタからかなり広い支持がありますVisual Studio , またはアドオンを通してVisual Studio Code .

階層
EditorConfig USコードスタイルの階層構成で、コードファイルが開いているときに、すべての設定を適用することを意味します.editorconfig ファイルのフォルダからファイルシステムのルートまで検索します.
設定ファイルのコードファイルに近いほど、優先度が高くなります.
を指定することで、親ディレクトリのスキャンを防ぐことができますroot = true あなたの.editorconfig file .

構文
EditorConfigファイルはセクションに分割されます.各セクションはファイルセレクタで始まる[] .
このセレクターはあらゆるファイルに適用できます[*] , 単純なワイルドカードのような[*.json] , のような拡張子のリスト[*.{cs, vb}]次の例を考えます.
root = true
[*]
indent_style = space
[*.{cs,vb}]
indent_size = 4
insert_final_newline = true
charset = utf-8-bom

まず、我々はroot = true , 意味は、我々はより多くの親フォルダをスキャンされません.editorconfig ファイル.
それから、我々は[*] すべてのファイルに適用されるブロック.
そして最後に[*.{cs,vb}] すべてのファイルに適用されるブロック.cs or .vb 拡張.これらのファイルには4のインデントがあります[*] ブロックはまだ適用されていますが、各ファイルの末尾に空の行が存在していることを確認したいと思います.
: gitを使うならば、あなたはそれを確認したいですgitattribute あなたと対立するな.editorconfig 設定されていない場合、エディタがチェックアウトで何をしているかを取り消すことができます.

. NET固有の拡張モジュール
Roslynコンパイラでは、コード解析を構成できるEditorConfig形式の拡張機能があります.
たとえば、EditorConfigを使用して、use句をソートするかどうかを指定できますSystem 名前空間最初
[*.{cs,vb}]
dotnet_sort_system_directives_first = true

あなたは誘因を使用したいvar Cのための組み込みのタイプ?完了!
csharp_style_var_for_built_in_types = true

エラーにすることもできます.
csharp_style_var_for_built_in_types = true:error

また、接頭辞と接尾辞と同様にケーシングを構成することができます.これはキャメルケースではなくアンダースコアでプレフィックスされていないフィールドに対して警告を与える_ .
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = warning
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style
dotnet_naming_symbols.instance_fields.applicable_kinds = field
dotnet_naming_style.instance_field_style.capitalization = camel_case
dotnet_naming_style.instance_field_style.required_prefix = _

参照official documentation より多くのオプション.また、[ Roslyn . EditorConfig ]には良い例がたくさんあります.

コード解析の設定
Visual StudioとCode Analysisに精通しているなら、.ruleset ファイル.
EditorConfigを介して行うことができますので、それはもはや必要です!
あなたが必要とするすべては、読まれる線ですdotnet_diagnostic.<Code>.severity = <Severity> , 例えば
[*.{cs,vb}]
dotnet_diagnostic.RCS1007.severity = error


結論
あなたのプロジェクトに共通のコードスタイルを持つ小さなチームや大チームがいつでも、チームメイトのコードを読むときにヘッドスクラッチを最小限に抑えることができます.EditorConfigでは、これらのスタイリング標準を生成するのに役立つ特定のテクノロジに結び付けられていない標準的な方法があります.
どのようなコーディングスタイルをあなたのプロジェクトに適用するのですか?