使用正则表达式将 VS Code 片段中的反斜杠“\”替换为正斜杠“/”

问题描述 投票:0回答:2

背景:

我在 VS Code 中添加自定义 JavaScript 代码段以插入当前文件的文件路径。 VS Code 提供了变量来获取文件路径,但是文件路径中包含反斜杠。我想用“/”而不是“\”来获取路径

例如。 'hello\world.js' -> 'hello/world.js'

VS Code 还使用正则表达式提供变量转换。我尝试用正斜杠替换反斜杠,但无法使其工作。我也检查了类似的问题,但对于 VS 代码片段中的变量转换,我找不到任何结果。而且我无法用其他类似的解决方案来解决这个问题,因为我是正则表达式的新手。

我尝试过的:

这工作正常,并将反斜杠 '\' 替换为 '_'

"filepath": {
  "prefix": "filepath",
  "body": ["/${RELATIVE_FILEPATH/([\\\\])/_/g}"],
  "description": "Path of current file"
}

但是如果我用“/”更改“_”,它就不起作用。

"filepath": {
  "prefix": "filepath",
  "body": ["/${RELATIVE_FILEPATH/([\\\\])///g}"],
  "description": "Path of current file"
}

我通过转义斜线和使用正则表达式组尝试了一些变体,但无法使其工作。

regex visual-studio-code vscode-snippets
2个回答
1
投票

\\\\/\\//g
是你的表情。这应该是相同的意思,因为它只选择一个字符:
[\\\\]/\\//g


0
投票

完整的工作片段(感谢 Mohit 的修复):

{
    "key": "ctrl+shift+/",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
        "snippet": "${TM_SELECTED_TEXT/[\\\\]/\\//g}"            
    }
},
© www.soinside.com 2019 - 2024. All rights reserved.