代码之家  ›  专栏  ›  技术社区  ›  Sebastian Nemeth

在VSCode片段中,如何将另一个用户定义变量的值大写?

  •  1
  • Sebastian Nemeth  · 技术社区  · 8 年前

    我在VSCode中尝试编写代码片段,并了解一些新的正则表达式替换语法。

    我想做的是根据文件名填充模板的部分内容。我可以去掉不需要的扩展,但是我不能在下一个变量中大写相同的值。

    我有以下两行:

    "@Controller('/${1:${TM_FILENAME_BASE/(.*)\\.controller/$1/}}')", "export class ${1/(.*)/${1:/capitalize}/}Controller {",

    第一个剥离文件名,并将模板的值捕获为1美元。 在第二行中,我尝试使用1美元的值,并通过大写过滤器运行它。

    我试过的东西都不管用,尽管用头敲击键盘感觉不错。

    有人把这个坚果砸碎了吗?

    1 回复  |  直到 5 年前
        1
  •  9
  •   Mark    8 年前

    这至少在v1.25中起作用:

    "@Controller('/${TM_FILENAME_BASE/(.*)\\.controller/$1/}')",
    "export class ${TM_FILENAME_BASE/(.*)$/${1:/capitalize}/}Controller {",
    

    产量:

    @Controller('/myGlobalSnippets')
    export class MyGlobalSnippetsController {