Visual Studio 代码片段变量转换不工作
Visual Studio Code Snippet Variable Transform not working
我正在尝试制作一个插入当前文件路径的最后两个目录的片段。
我的代码:
${TM_DIRECTORY/\(.*)\([a-zA-Z]+)\([a-zA-Z]+)/\/}
所以当文件路径是
"...\htdocs\projectname\src"
输出应该是
"projectname\src"
。
但是我得到了这个结果:
${TM_DIRECTORY/(.*)\([a-zA-Z]+)\([a-zA-Z]+)//}
我做错了什么?
问题:
问题是代码将 \
转换为 \
。例如,如果你想写 \w
,那么你必须在片段中写 \w
。
同理..你必须在片段json中写\\
,这样它就会转换成//
.
解决方法:
${TM_DIRECTORY/.*?\\([a-zA-Z]+\\[a-zA-Z]+)$//}
或者,我认为您应该使用 \w
而不是 [a-zA-Z]
,因为目录名称可以包含一些字符,例如 -
或 _
等
${TM_DIRECTORY/.*?\\(\w+\\\w+)$//}
我正在尝试制作一个插入当前文件路径的最后两个目录的片段。
我的代码:
${TM_DIRECTORY/\(.*)\([a-zA-Z]+)\([a-zA-Z]+)/\/}
所以当文件路径是
"...\htdocs\projectname\src"
输出应该是
"projectname\src"
。
但是我得到了这个结果:
${TM_DIRECTORY/(.*)\([a-zA-Z]+)\([a-zA-Z]+)//}
我做错了什么?
问题:
问题是代码将 \
转换为 \
。例如,如果你想写 \w
,那么你必须在片段中写 \w
。
同理..你必须在片段json中写\\
,这样它就会转换成//
.
解决方法:
${TM_DIRECTORY/.*?\\([a-zA-Z]+\\[a-zA-Z]+)$//}
或者,我认为您应该使用 \w
而不是 [a-zA-Z]
,因为目录名称可以包含一些字符,例如 -
或 _
等
${TM_DIRECTORY/.*?\\(\w+\\\w+)$//}