C#エディタ
なにはともあれ、スクリーンショットをごらんください。
左がバニラ、右が拡張後です。
Visual Studioの標準設定とViasforaというVS拡張でVisual Studioをカラフルにできます。
ただカラフルになって楽しむだけでなく、セマンティックに色分けをすることで、コードの理解にも一役かってくれます。
呼び出す時にしばしば間違う、以下の区別ができます。
- ローカル変数 vs パラメータ vs フィールド vs プロパティ
- 普通のメソッド vs 静的メソッド vs 拡張メソッド
しばしば議論になるfieldに _
を付けるかべきかは
この機能でセマンティックに判別出来るので不要だと思います。
Expression-Bodiedで書かれたメソッドと読み取り専用プロパティは ()
の有無でしか区別できませんが、色がはっきり違うと識別しやすいです。
Rainbow Braces
これはViasforaの機能ですが、色から対応する括弧が区別できます。
余分な括弧の背景色が強調されています。
XAMLエディタ
XAMLエディタもカラフルにできます。
Closeタグは正直なくてもいいと思っているので、背景色に近くしてしまいました。
Bindingは大事なので目立つ色に。
導入方法
Viasfora インストール
2022/05/09アップデート
Visual Studio Marketplaceからインストールできます。
正式リリース前のインストール方法
執筆時点(2021/11/25)ではViasforaの公式版はまだVisualStudio2022に対応していません。
Viasfora - Visual Studio Marketplace
なので、Forkしてビルドしたものが別レポジトリのReleaseにあるので、それを使います。
https://github.com/IllyaTheHath/viasfora/releases/tag/vs17
ダウンロードしたViasfora.vsixをダブルクリックして、VisualStudio2022にインストールします。
本家でもVS2022対応はするつもりのようなので、公式版が良ければ、それを待っても良いと思います。
設定変更 - 設定ファイルインポートの場合
上のスクリーンショットの色は自前で調整しました。
作成した色の設定ファイルをGitHubに上げたので、ダウンロードしてインポートすると同じ色にできます。
設定変更 - 自分で指定の場合
ツール>オプション>環境>フォントおよび色>で色を設定します。
関係ありそうな設定と調べた限りの解説です。
設定名 | コード例 | 解説 |
---|---|---|
Viasfora Flow Control Keyword | if, return | 条件分岐などのコードフローキーワード |
Viasfora Visibility Keyword | private string | アクセス修飾子 |
Viasfora XML Prefix Closing | _<_/**local**:~> | XML(XAML)のCloseタグのプレフィックス |
Viasfora XML Closing Tag | **Grid**> | XML(XAML)のCloseタグ |
Viasfora XML Prefix | _<**local**:~_> | XML(XAML)のタグのプレフィックス |
キーワード | private void MyMethod(int input) => new MyClass(... | アクセス修飾子とコードフロー以外のC#文法の予約語 |
シンボル - 静的 | static void StaticMethod() | 静的メソッド・クラスなどを太字にするかどうかだけ設定可能 |
ユーザーメンバー - インターフェイス | interface IMyInterface | |
ユーザーメンバー - クラス | class MyClass | |
ユーザーメンバー - デリゲート | delegate void MyDelegate | |
ユーザーメンバー - レコード | record MyRecord | |
ユーザーメンバー - レコード構造体 | record struct MyStrRecord | |
ユーザーメンバー - 型パラメーター | Method<**T**>(T input) | ジェネリックメソッド・クラスで使われる |
ユーザーメンバー - 構造体 | struct MyStruct | |
ユーザーメンバー - 列挙型 | enum MyEnum | |
ユーザーメンバー - イベント | event MyDelegate MyEvent; | |
ユーザーメンバー - パラメーター | static void Main(string[] args) | メソッドの引数やラムダ式の一時変数 |
ユーザーメンバー - フィールド | privateField(上スクリーンショット) | |
ユーザーメンバー - プロパティ | Property(上スクリーンショット) | |
ユーザーメンバー - メソッド | InitializeComponent(); | 拡張メソッドでないメソッド |
ユーザーメンバー - ローカル | local(上スクリーンショット) | ローカル変数 |
ユーザーメンバー - 拡張メソッド | .Select(x => | |
ユーザーメンバー - 定数 | const string CONST_VALUE | |
ユーザーメンバー - 名前空間 | using System; | |
ユーザーメンバー - 列挙型メンバー | Color.Black |
注意点
- PrivateとPubulicで色の区別はない
-
シンボル - 静的
の設定で太字を有効にすると、静的メソッド・静的プロパティ・静的クラス・定数が全て太字になる。ただし、拡張メソッドは太字にならない
環境
VisualStudio 2022 v17.0.1
.NET 6
C# 10
フォントはFira Code Retina
VisualStudio 2019以前版
VisualStudio 2019以前はVisualStudioの設定が一部少なく、Viasforaに加えて、SemanticColorizerという拡張機能を追加で使います。