【发布时间】:2022-02-25 06:16:44
【问题描述】:
我想在 Vscode sn-p 中将 filename-with-dashes.md 转换为 Filename with dashes
确切地说,我想在这个 sn-p 中填充字段"title",从类似于firt-post-ever.md 的文件名中得到First post ever:
"FrontMatter": {
"scope": "markdown",
"prefix": "frontmatter",
"body": [
"---",
"title: '${TM_FILENAME_BASE/^([^-]*)-([^.]*).*/${1:/pascalcase} ${2:/capitalize}/}'",
"draft: true",
[...]
我目前所拥有的:
这个正则表达式将filename-with-dashes.md 更改为Filename with-dashes(← 最后我仍然需要删除破折号):
${TM_FILENAME_BASE/^([^-]*)-([^.]*).*/${1:/pascalcase} ${2:/downcase}/}
我检查的资源:
- https://code.visualstudio.com/docs/editor/userdefinedsnippets#_grammar
- vscode snippet - multiple regex transformation filepath+filename
- VSCode Keybinding Snippet: Use TM_SELECTED_TEXT to Remove All Slashes From A Selected String
- VSCode chaining regex transforms in a snippet
- Transform and regex in Code Snippets in VSCode - Docs
不幸的是,这些页面不足以找到正确的答案(我无法理解正则表达式的语法,尽管我付出了很大的努力我还是无法理解......)有什么提示吗?
注意事项:
- 只有整个标题的第一个字母必须大写
- 文件名可能包含点(例如:notes-for-dev.to-update-2022.md)。
在这种情况下只有文件扩展名必须被删除
【问题讨论】:
-
所以
notes-for-dev.to-update-2022.md的结果是notes-for-dev.to-update-2022.? -
嗨@Mark,“
notes-for-dev.to-update-2022”的结果是“Notes For Dev.to Update 2022”,正则表达式在“我目前拥有的”下方报告 -
您想要
notes-for-dev.to-update-2022.md的结果是Notes For Dev.to Update 2022? -
不,我只想将第一个字母大写:
Notes for dev.to update 2022
标签: regex visual-studio-code code-snippets