如何获取visual studio代码段中的基目录?

Kev*_*Kev 9 code-snippets visual-studio-code

我试图将文件当前目录放在Visual Studio代码的代码段中.

VSCode有一个变量:TM_DIRECTORY,即fullpath.

例如:

{folder: "$TM_DIRECTORY"}
Run Code Online (Sandbox Code Playgroud)

将被替换为

{folder: "/Volumes/my-project-path/ParentFolder/MyFolder"}
Run Code Online (Sandbox Code Playgroud)

但我只想要MyFolder.

通常,我们可以使用文档中指示转换.Sublime Text以相同的方式工作.但是,就像我尝试的那样,片段只输出整个正则表达式.

有人可以用魔法变量/变换来回答吗?:)

Kev*_*Kev 13

好的,终于找到了.

${TM_DIRECTORY/^.+\\/(.*)$/$1/} 给出基目录.

我没有得到的部分是目录分隔符的"双重转义" /- > \\/.

  • Nevermind也发现了它:`$ {TM_DIRECTORY /^.+\\\\(.*)$/$ 1 /} (5认同)

Plu*_*eto 12

这支持 Windows 和 Unix:

${TM_DIRECTORY/^.+[\\/\\\\]+(.*)$/$1/}
Run Code Online (Sandbox Code Playgroud)


Jos*_*e A 6

我想补充一点,在 Windows 中,上面的代码将打印整个目录。

您需要添加四重反斜杠与正斜杠:

${TM_DIRECTORY/^.+\\\\(.*)$/$1/}
Run Code Online (Sandbox Code Playgroud)