在宏VS2015中启用选择时搜索

时间:2017-01-17 11:08:11

标签: regex visual-studio-2015 macros

在VAX / VMS(或OpenVMS Alpha及其他名称)上有一个名为TPU的编辑器。在TPU中,您可以独立于按住键来启用文本选择。您按下SELECT,然后按任何光标移动,在编辑点和新光标位置之间选择了文本。

您还可以录制宏。因此,您可以使用此文本选择功能来创建如下的宏:

  • 找到“abc”
  • 选择
  • 找到“xyz”
  • 停止录制

所以这个宏会在其中找到任何带有“abc”的行,然后剪切“abc”和“xyz”之间的所有文本。节省大量时间。

有意义吗?我怎样才能在VS2015中做到这一点?我找不到提供我需要做的选择行为的宏扩展。

干杯,

.PD。

修改

我想到这可以通过正则表达式完成,但它似乎是一个非常大的问题。

@Html.DropDownListFor(m => m.Property, Model.SelectListProperty, htmlAttributes: new { @class="whatever" })
// the regex would replace this with
@Html.MyDropDownListFor(m => m.Property, Model.SelectListProperty, Model.Property, htmlAttributes: new { @class="whatever"}) 

所以我会寻找一个正则表达式 - 找到@ Html.DropDownList - 将','的标记1替换为标记0的标记1除以'。'。并以“模型”为前缀。

1 个答案:

答案 0 :(得分:1)

假设Model.Property来自m => m.Property

搜索

@Html\.DropDownListFor\(((\w+)\s*=>\s*\2\.(\w+)),\s*(Model\.\w+)(,(?:[^(){}]|\{[^{}]*\})*)?\)

替换为

@Html.MyDropDownListFor($1, $4, Model.$3$5)

演示:http://regexr.com/3f3io