为什么VS Code将带空格路径文件拖到集成PowerShell终端时会加&前缀
问题原因
该现象不是Bug,是VS Code针对Windows平台默认集成终端PowerShell的适配设计。
PowerShell执行包含空格的路径对应的可执行文件时,要求路径前加&调用符才能正常识别,因此VS Code默认给Windows平台下拖拽到终端的路径自动添加该前缀。而MacOS默认终端为zsh/bash,无该语法要求,因此不会出现多余前缀。
解决方法
- 方法1:修改终端路径引用规则
- 按快捷键
Ctrl+,打开VS Code设置界面 - 搜索设置项
Terminal > Integrated: Shell Quoting - 将Windows平台对应的下拉选项从默认的
powershell修改为none,重启终端后拖拽文件就不会再生成&前缀
- 按快捷键
- 方法2:切换默认集成终端
如果你日常更习惯使用cmd而非PowerShell,可以按Ctrl+Shift+P调出命令面板,搜索Terminal: Select Default Profile,选择Command Prompt作为默认终端,修改完成后拖拽路径也不会带&前缀
注意事项
将Shell Quoting改为none后,如果拖拽的路径包含空格,直接在PowerShell中执行该路径对应的可执行文件会触发报错,你可以手动给路径包裹引号,或按需自行添加&前缀即可。
内容的提问来源于stack exchange,提问作者Servesh Chaturvedi
相关产品推荐
相关产品推荐

