[C#] C#開発環境を整える。VSCode拡張機能や設定等
はじめに
使っている拡張機能とその設定です。
すでに同記事多数ですが、あえてまとめてみます。
お目汚し失礼。
使っているVSCode拡張機能
C#
Microsoft製拡張機能です。
*.csファイルを開くと、「入れましょう」とおすすめされます。
コードハイライト、自動補完、定義へのジャンプ、参照の検索等々の機能があります。
必須です。
C# XML Documentation Comments
///
と入力すると、コメントの雛形を出力してくれます。
CodeでないほうのVisual Studioに備わっている機能です。
Code Spell Checker
スペルチェッカーです。英語スペルの間違いを指摘してくれます。
こういうのずっと欲しかった。
C# FixFormat
2019-6-2追記:インスタンス化時に{}が入れ子になっているとインデントが崩れるので、使うのをやめました。
ソースコードをまとめて整形できます。
対象は、括弧、インデント、スペース、改行、usingです。
C#拡張機能では対応していない []
前後のスペースや、改行した行のインデントに対応しています。
C#拡張機能整形機能とぶつかる部分があるので、以下の設定をしています。
# 開き括弧{を独立行に置きます。
csharpfixformat.style.braces.onSameLine: false
# 開き括弧(前にスペーを出力しません。
csharpfixformat.style.spaces.beforeParenthesis : false
.Net Core Test Explorer
Visual StudioのTestウィンドウと同様のものです。
ソリューション/プロジェクトに含まれているテストを一覧できます。
コード中に[Run Test]リンクが表示されるので、あまり使ってないです。
VSCode 拡張機能以外のもの
StyleCop.Analyzers
C#コンパイラのアナライザに、コーディングスタイルチェックを追加します。
プロジェクトに追加すると、ビルド時に警告が出力されるようになりなす。
設定はxmlファイルとjsonファイルで行います。それぞれできる設定が分かれています。
jsonファイルの内容はこちらで説明されています。
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/Configuration.md
以下はxmlファイルの例です。Rule
タグにあるId
属性は、StyleCop Analyzerが出力するルールのIDです。ここでは2つのルールを無視するようにしています。
code-analyzer.ruleset
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="My Analyzer ruleset" ToolsVersion="15.0">
<IncludeAll Action="Warning" />
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<!-- 一行コメント先頭に要スペース -->
<Rule Id="SA1005" Action="None" />
<!-- 呼び出し時要this -->
<Rule Id="SA1101" Action="None" />
</Rules>
</RuleSet>
jsonファイルの例です。
stylecop.json
{
"$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
"settings": {}
}
ファイルを作成したら、csprojファイルを編集して参照するようにします。
<PropertyGroup>
<CodeAnalysisRuleSet>code-analyzer.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<AdditionalFiles Include="stylecop.json" Link="stylecop.json" />
</ItemGroup>