Resharper实时模板宏在退出时更改变量名称

时间:2010-02-23 21:36:55

标签: .net visual-studio macros resharper live-templates

我想创建一个Resharper Live模板,将所有空格更改为下划线,我的“事实”实时模板变量$ 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) };           
            }
        }
    }

但这只在我按Tab键时才会运行。我希望在我跳出$ testname $。

之后运行宏

我希望能够在带有空格的单行文本中编写测试名称,然后宏将所有空格转换为下划线。

这可能吗?

0 个答案:

没有答案