thx @MattDMo 的答案,不需要安装任何插件。但是在我在 MacOS 中尝试了 cmd 之后:
"shell_cmd": "osascript -e 'tell app \"Terminal\" to do script \"cd $file_path && python3 -u $file\"'",
我发现它似乎每次都从后台运行,这很不方便。
所以我尝试了另一种方法:使用 temp.sh 运行。这是命令:
"cmd": ["zsh", "-c", "echo \"python3 ${file}\" > /tmp/tmp.sh ; chmod +x /tmp/tmp.sh ; open -a Terminal /tmp/tmp.sh ; sleep 2 ;rm /tmp/tmp.sh"],
这种方法会在前面弹出一个新窗口,稍作修改后在其他平台上应该是可行的,但我没有尝试。
这是“python_input.sublime-build”中的完整内容:
{
"cmd": ["zsh", "-c", "echo \"python3 ${file}\" > /tmp/tmp.sh ; chmod +x /tmp/tmp.sh ; open -a Terminal /tmp/tmp.sh ; sleep 2 ;rm /tmp/tmp.sh"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
}