在 vs 代码中创建片段时如何更改 TM_FILENAME_BASE?

How to change TM_FILENAME_BASE when creating snippets in vs code?

我有一个名为 "Card.styled.js"

的文件

我想创建一个片段来更轻松地编写带样式的组件:

"styled": {
  "prefix": "styled",
  "body": [
    "import styled from \"styled-components\"",
    "",
    "export const ${1:${TM_FILENAME_BASE}} = styled.`",
    "",
    "",
    "`"
  ]
}

但是 ${1:${TM_FILENAME_BASE}} 正在 return 给我 Card.styled

在这种情况下,我只想 return Card

Card.styledCard.styled.js 的正确 TM_FILENAME_BASE。您将不得不进一步修改它。

你想要这样的东西:

  "styled": {
    "prefix": "styled",
    "body": [
      "import styled from \"styled-components\"",
      "",
      "export const ${1:${TM_FILENAME_BASE/(.*?)\..*//}} = styled.`",
      "",
      "",
      "`"
    ]  
  } 

(.*?)\..* 将第一个 . 之前的所有内容都放入捕获组 1

匹配整个 filename_base 并仅用捕获组 1 替换它。