Resharper 实时模板宏在退出时更改变量名称
我想创建一个 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) };
}
}
}
但这仅在我按 Tab 时运行。我希望宏在我退出 $testname$ 后运行。
我希望能够将测试名称写在带有空格的单行文本中,然后宏将所有空格变成下划线。
这可能吗?
I would like to create a Resharper Live Template that changes all spaces to underscores ind my "fact" Live template variable $testname$:
<Fact()> _
Public Sub $testnames$()
' Arrange
$END$
' Act
' Assert
End Sub
I have this:
[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) };
}
}
}
But this only runs when i press tab. I want the macro to run after I tab out of $testname$.
I want to be able to just write the test name in a single line of text with spaces, and then the Macro turns all the spaces into underscores.
Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论