3

すべてのスペースをアンダースコアに変更する Resharper ライブ テンプレートを作成したいと思います。これは、私の「事実」ライブ テンプレート変数 $testname$ 内にあります。

<Fact()> _
Public Sub $testnames$()
    ' Arrange
    $END$

    ' Act

    ' Assert

End Sub

私はこれを持っています:

    [Macro("applyRegex", ShortDescription = "Run on {#0:variable}", LongDescription = "")]
    class ApplyRegexMacro : IMacro
    {
        public string EvaluateQuickResult(IHotspotContext context, IList<string> arguments)
        {
            return Regex.Replace(arguments[0], " ", "_", RegexOptions.IgnoreCase);
        }

        public HotspotItems GetLookupItems(IHotspotContext context, IList<string> arguments)
        {
            return null;
        }

        public string GetPlaceholder()
        {
            return "placeholder";
        }

        public bool HandleExpansion(IHotspotContext context, IList<string> arguments)
        {
            return false;
        }

        public ParameterInfo[] Parameters
        {
            get
            {
                return new[] { new ParameterInfo(ParameterType.String), new ParameterInfo(ParameterType.String), new ParameterInfo(ParameterType.VariableReference) };           
            }
        }
    }

しかし、これはタブを押したときにのみ実行されます。$testname$ からタブで移動した後にマクロを実行したい。

スペースを含む 1 行のテキストにテスト名を書き込めるようにしたいのですが、マクロはすべてのスペースをアンダースコアに変換します。

これは可能ですか?

4

0 に答える 0