LoginSignup
49
47

More than 1 year has passed since last update.

あなたのVisualStudioをセマンティックなカラフルに

Last updated at Posted at 2017-04-08

C#エディタ

なにはともあれ、スクリーンショットをごらんください。

color .png

左がバニラ、右が拡張後です。

  • SemanticColorizer
  • Viasfora

2つのVisualStudio拡張でVisualStudioをカラフルにできます。
ただカラフルになって楽しむだけでなく、
セマンティックに色分けをすることで、コードの理解にも一役かってくれます。

呼び出す時にしばしば間違う
ローカル変数・フィールド・プロパティ
普通のメソッド・静的メソッド・拡張メソッド
の区別ができます。

しばしば議論になるfieldに"_"を付けるかべきかは
この機能でセマンティックに判別出来るので不要だと思います。

Expression-Bodiedで書かれたメソッドと読み取り専用プロパティは()の有無でしか区別できませんが、色がはっきり違うと分かりやすいです。

Rainbow Braces

スクリーンショット 2017-04-08 17.33.32.png
これはViasforaの機能ですが、色から対応する括弧が区別できます。
余分な括弧の背景色が強調されています。

XAMLエディタ

スクリーンショット 2017-04-08 16.42.48.png
XAMLエディタもカラフルにできます。
Closeタグは正直なくてもいいと思っているので、背景色に近くしてしまいました。
Bindingは大事なので目立つ色に。

導入方法

SemanticColorizer - Visual Studio Marketplace

Viasfora - Visual Studio Marketplace

2つのVisualStudio拡張をインストールします。
ツール>オプション>環境>フォントおよび色>で色を設定します。
関係ありそうな設定と調べた限りの解説です。

設定名 解説 コード例
Viasfora Flow Control Keyword コードフロー関係 if, return
Viasfora XML Closing Tag XML(XAML)のCloseタグ </Grid>
Viasfora XML Prefix Closing XML(XAML)のCloseタグのプレフィックス </local:~>
Semantic Constructor 不明
Semantic Enum Field 列挙体値 Color.Black
Semantic Extension Method 拡張メソッド .Select(x =>
Semantic Field フィールド privateField(上スクリーンショット)
Semantic Local ローカル変数 local(上スクリーンショット)
Semantic Namespace 名前空間 using System;
Semantic Normal Method 通常メソッド InitializeComponent();
Semantic Normal Type 不明
Semantic Parameter メソッドの引数やラムダ式の一字変数 static void Main(string[] args)
Semantic Property プロパティ Property(上スクリーンショット)
Semantic Special Type 不明
Semantic Static Method 静的メソッド Console.WriteLine()
Semantic Type Parameter 不明

めんどうだったらSemanticColorizerのページに設定ファイルがあります。
上のスクリーンショットの色は自前で調整しました。

注意点

PrivateとPubulicで色の区別はできません。
また公式ページではコンストラクタの色は別になっており、設定にもあるのですが、
私の環境では普通のメソッドの色が適用されてしまいます。
Blendを使用した際にVSの設定が変になることがありました。
拡張メソッドは強制的にイタリック体になります。力技ですが、イタリック体の無いFontを指定することで回避することもできます。

VisualStudio15.7不具合(2018/05/14 追記)

VSの15.7以降では一部に不具合が発生するようです。
semantic-colorizer Ver 1.3.0で解決しました。

環境

VisualStudio2015
VisualStudio2017
.NET Framework 4.6
C#6
フォントはFira Code Light

Visual Studio 2022版

Visual Studio 2022版を書きました。SemanticColorizerは使用しなくなります。

49
47
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
47