【问题标题】:Snippet: transorm TM_DIRECTORY base dir from snake_case to PascalCase片段:将 TM_DIRECTORY 基本目录从蛇形案例转换为 PascalCase
【发布时间】:2020-05-22 09:17:30
【问题描述】:

我正在尝试从 TM_DIRECTORY 变量(给出完整路径)中获取“基本目录”以转换为 PascalCase(在蛇形大小写中)。

所以,对于/this/is/path/to/base_dir,我想得到BaseDir

这是我目前得到的:

${TM_DIRECTORY/(^.+\\/(.*)$)/${2:/capitalize}/g} 来自this

这给了我:

Base_dir/this/is/path/to/base_dir

我觉得我必须以某种方式合并${TM_DIRECTORY/((^[a-z])|_([a-z]))/${2:/upcase}${3:/upcase}/g},但不知道如何。

【问题讨论】:

    标签: visual-studio-code vscode-snippets


    【解决方案1】:

    使用这个:

      "${TM_DIRECTORY/(^.+\\/(.*)$)/${2:/pascalcase}/}",
    

    很遗憾,pascalcase 选项没有记录在案。

    如果该选项不可用,我建议这样做:

      "${TM_DIRECTORY/.*\\/(.*)_(.*)$/${1:/capitalize}${2:/capitalize}/}",
    

    这个想法是在两个捕获组中获取最后一个目录,将每个目录大写并忽略下划线分隔符(即,它不会出现在转换部分中)。

    概括地说,如果您的目录名称中除了下划线之外还有其他名称分隔符,您可以在该中间部分使用 [_-] - 只需包含其他可能的分隔符。

    【讨论】:

    • "${TM_DIRECTORY/(^.+\\/(.*)$)/${2:/pascalcase}/}",FTW!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    相关资源
    最近更新 更多