【问题标题】:Search while selection enabled in macro VS2015在宏 VS2015 中启用选择时搜索
【发布时间】:2017-01-17 11:08:11
【问题描述】:

在 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并以“型号”为前缀。

【问题讨论】:

    标签: regex visual-studio-2015 macros


    【解决方案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

    【讨论】:

    • 非常感谢您。它绝对适用于这种特定格式。我想我现在的练习是将其分开以了解它在做什么,以便我可以让它与其他格式一起使用。例如。我没有匹配到 @Html.DropDownListFor(m => m[i].award, (SelectList) Model[i].award_SelectList, htmlAttributes: new {@class= "form-control col-med"})但就像我说的那样,这对我来说是一种锻炼。再次感谢。 (竖起大拇指)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    相关资源
    最近更新 更多