总结一下, 这可能是由于官方做灰度测试, 部分用户使用了新的启动器启动, 部分用户依旧使用老的启动器. 新的启动器存在 Bug 导致输出中文乱码.
----------------------------
老的启动器(正常):
%userprofile%\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\
ptvsd_launcher.py新的启动器(输出乱码):
%userprofile%\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\new_ptvsd\wheels\ptvsd
----------------------------
解决方法:
删除 %appdata%\User\globalStorage\state.vscdb,
启动 vscode, 这时候应该是使用的老的启动器, 也自动创建这个 sqlite 数据库文件, 把它备份起来.
貌似启动之后过一段时间, 几分钟?
这个文件被更新了, 之后就使用了新的启动器启动 py. 输出就乱码了.
关闭 vscode, 把备份的 state.vscdb 恢复回去. 应该就不会再被切换到新的启动器了.
settings.json 增加:
{
"workbench.enableExperiments": false,
"update.showReleaseNotes": false,
"telemetry.enableCrashReporter": false,
"telemetry.enableTelemetry": false
}