コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【ReSharper】配列やリストの for 文を簡単に記述できる Source Template

ソースコード

using JetBrains.Annotations;
using System.Collections.Generic;

public static class SourceTemplates
{
    [SourceTemplate]
    [Macro( Target = "index" )]
    [Macro( Target = "value" )]
    public static void forArray<T>( this T[] self )
    {
        for ( int index = 0; index < self.Length; index++ )
        {
            var value = self[ index ];
            //$ $END$
        }
    }
    
    [SourceTemplate]
    [Macro( Target = "index" )]
    [Macro( Target = "value" )]
    public static void forList<T>( this List<T> self )
    {
        for ( int index = 0; index < self.Count; index++ )
        {
            var value = self[ index ];
            //$ $END$
        }
    }
}

使用例

f:id:baba_s:20191127114756g:plain

ReSharper や Rider にデフォルトで備わっている後置テンプレート「for」では
上記のようにコードを補間することができますが、

f:id:baba_s:20191127114815g:plain

前述したソーステンプレートを使用すると
for 文の中に変数の定義を記述した状態で補間することができます

  • 配列の場合: forArray を使う
  • リストの場合: forList を使う

参考サイト様