M1芯片Mac中VSCode无法在launch.json设置cwd完成Python调试问题
问题解决方案
1. 核心配置修正
你的launch.json中cwd参数的VSCode预定义变量使用了错误的包裹符号,正确语法为大括号${},而非你当前使用的小括号$(),将对应配置修改为如下内容即可:
{ "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "cwd": "${fileDirname}" }
旧款Intel架构Mac上的老版VSCode对小括号写法做了非标准兼容,而Apple Silicon原生版VSCode移除了该兼容逻辑,会将$(fileDirname)当作普通路径字符串解析,导致路径识别失败、调试器连接超时。
2. 额外适配调整(针对1.59.1版本)
1.59.1是最早支持Apple Silicon原生运行的VSCode版本之一,存在终端变量解析、环境变量继承的已知bug,修改完变量符号后如果仍然报错,可以做如下配置:
- 打开VSCode的
settings.json,添加配置项:"terminal.integrated.inheritEnv": false,关闭终端环境全局继承,避免Rosetta转译环境和原生arm64环境的变量冲突 - 在
launch.json的对应调试配置中新增参数:"env": {"PYTHONUNBUFFERED": "1"},禁用Python输出缓冲,避免调试器握手超时
3. 终极修复方案
直接升级VSCode到1.60及以上版本,该版本已经完整修复了Apple Silicon设备上的终端解析、Python调试相关bug,修改完变量符号后不需要额外配置即可正常运行。
内容的提问来源于stack exchange,提问作者MrT77
相关产品推荐
相关产品推荐

