VSCode 不断破坏 Python shebangs

VSCode keeps ruining Python shebangs

每次我用 VSC 编辑 Python 脚本时,它都会破坏 shebang。如果我通过 sed 甚至 nano 手动修复它,它可以工作,但如果我用 VSC(任何行)编辑脚本中的任何内容,然后尝试执行脚本,我会收到错误的解释器错误 ./marshal.py: bad interpreter: /bin/python3^M: no such file or directory .

有人有什么想法吗?
编辑: 因此,我正在通过 VSC 在 Windows 中编辑此脚本,但在 WSL 中执行它。修复 WSL 中的 shebang 是可行的,但是一旦我再次使用 VSC 对其进行编辑,它就会破坏 shebang

这是 different line endings 的问题。 Windows 使用 CRLF(回车 return + 换行)作为换行符,而 Linux 使用 LF(仅换行)。 Windows 保存的文件中的额外回车 return 在 Linux 中执行时是意外的,并产生给定的错误。

VS Code在状态栏右下角显示当前文件配置的行结束符:

单击它可以将其更改为 LF:

保存文件后,它可以在 Linux 环境中执行。