在VStudio启动配置中转义通配符是否损坏?

问题描述

我想测试我的Python脚本的通配符处理。因此,我想移交包含通配符的文件路径,例如 data / *。xml

如果我直接在外壳中调用脚本

my_script.py data/\*.xml

通配符的转义工作正常,我的脚本可以看到通配符。

但是,我无法通过vscode的启动配置来实现这一目标。

{
    "version": "0.2.0","configurations": [
        {
            "name": "Python: my_script","type": "python","request": "launch","program": "${workspaceFolder}/my_script.py","console": "integratedTerminal","args": ["mine","${workspaceFolder}/data/\\*.xml"]
        }
    ]
}

此启动失败:

%  cd /Users/tom/Documents/evaluate ; env /Users/tom/Library/python3.8/bin/python /Users/tom/.vscode/extensions/ms-python.python-2020.8.103604/pythonFiles/lib/python/debugpy/launcher 52992 -- /Users/tom/Documents/evaluate/my_script.py mine /Users/tom/Documents/evaluate/data/\\*.xml 

zsh: no matches found: /Users/tom/Documents/evaluate/data/\*.xml

我尝试了其他几种变体来引用通配符,但没有成功,例如shell转义不起作用,shell在将路径移交给脚本之前扩展了通配符。

您知道如何在启动配置的“ args:”中正确定义路径吗?

解决方法

这似乎确实是一个错误。转义无法正常工作,并且会根据所使用的控制台而有所不同。

请参考相关Github ticket.

中的讨论