【问题标题】:Regular Expression to match folder name with Productivity Power Tools Color Coding正则表达式将文件夹名称与 Productivity Power Tools 颜色编码相匹配
【发布时间】:2013-11-26 20:51:21
【问题描述】:

我想配置 RexEx 以匹配任何打开文件的文件路径的任何文件夹(父或子)。因此,如果文件路径中的任何文件夹包含打开文件的名称,则根据 RegEx 匹配设置选项卡的颜色编码。

例如: websiteRoot/Content/MyName1/site.css = 打开文件时的绿色标签

websiteRoot/Content/MyName2/site.css = 打开文件时的橙色标签

websiste/Shared/MasterPages/MyName1/main.master = 打开文件时的绿色标签

websiste/Shared/MasterPages/MyName2/main.master = 打开文件时的橙色标签

我尝试过: .*MyName1?$ 但这只是我相信的文件名。

还尝试了.*//MyName1//?$,如果此扩展名的正则表达式直接匹配打开的文件路径,我认为下一个可以解决问题:^.*\\MyName1

更有希望但没有成功的正则表达式:

.*websiteRootPath.*MyName1|myname1|myName1

如果 Power Productivity Tools 使用打开文件的相对路径:

.*MyName1|myname1|myName1

【问题讨论】:

  • 我否决了这个问题,因为它基本上要求有人为你做这项工作。如果您想让问题变得更好,请给出具体示例,说明它如何工作/不工作以及在它们上运行正则表达式的结果。然后人们可以解释为什么会得到你所做的结果,并为你指明更好的方向。
  • 嗯,我不知道从哪里开始,我当然已经尝试过研究、阅读在线文档和不同的正则表达式。我将如何编写一个正则表达式来匹配 Visual Studio 扩展上的文件夹,并使用可能专有的正则表达式来匹配路径 URI 和很少的在线可用文档?
  • 我不是清楚地概述了如何在没有任何额外知识的情况下改进问题吗?举例说明什么起作用/不起作用以及失败的结果
  • 我的问题已经说明了我尝试过的正则表达式,但这是在查看文件名,并且由于没有关于 Productivity Power Tools 扩展和颜色选项卡的正则表达式的文档,我期待口耳相传或也许帮助构建扩展的人可能会抓住这个问题并知道如何匹配文件路径。
  • SO 标准会随着时间而改变。老问题并不总是好的标准。最近有很多“为我写这段代码”的帖子。

标签: c# asp.net visual-studio-2012 visual-studio-extensions


【解决方案1】:

我在 VS 2017 中对此进行了处理,您必须启用该选项以匹配文档的路径。

你需要有一些正则表达式的背景知识,这里有一些例子:

.*folder\\.*$
.*folder\.detail\\subfolder\\.*$
.*folder\\subfolder\\subfolder\\.*$

您可以测试自己的正则表达式here

【讨论】:

    【解决方案2】:

    文档还有一些隐藏的设置好,描述在这里:Document Well 2010 Plus: Hidden Options

    这些包括允许正则表达式匹配的完整文档路径的注册表设置,描述为:

    默认情况下,仅使用选项卡中可见的文本进行匹配 自定义着色的正则表达式。您可以运行以下 命令改为匹配完整的文档路径,这为您提供 更大的灵活性

    注册表更改是这样的:

    注册添加 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\DialogPage\Microsoft.DocWellBehavior.GeneralOptions /v UseFullPathForRegEx /t REG_SZ /d True /f

    链接文档中描述的密钥都在我的注册表中,在带有 VS2013 的新建 Win8.1 PC 上(尽管我使用 VS2013 在其路径中使用“12.0”而不是“10.0”)。 该键至少按照我的环境中的描述工作,因此在原始问题中,正则表达式 .*MyName1.* 将选择路径或名称中包含“MyName1”(默认情况下不区分大小写)的所有文件。

    【讨论】:

    • 很好的答案,我想通过汇编为代码着色并获取正则表达式评估的完整路径正是我所需要的。
    【解决方案3】:

    您必须在

    下勾选“使用完整文档路径进行正则表达式匹配

    选项 -> 生产力工具 -> 高级

    之后就可以使用RegEx的like了

    .*app\\model\\.*$
    .*app\\view\\.*$
    .*app\\controller\\.*$
    

    【讨论】:

    • 为了完整起见——因为我在这方面浪费了一些时间——我在这个答案中补充说 app 对应于 Solution 的名称,而不是的项目。此外,Regular expression colors take precedence over project colors 必须打勾(生产力电动工具选项 → 自定义文档井 → 常规,选项卡外观)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    相关资源
    最近更新 更多