【问题标题】:How do i automatically clear the terminal in VSCode before execution of script? [duplicate]如何在执行脚本之前自动清除 VSCode 中的终端? [复制]
【发布时间】:2020-10-25 18:05:28
【问题描述】:

我目前正在使用 VS Code 来学习 Python。所以我必须每分钟运行 10 到 15 次脚本,只是做一些小的编辑和学习所有的东西。我在 VS 代码的集成终端中运行脚本

显然终端变得非常混乱,我必须始终通过运行clear 手动清除终端,我希望终端在每次执行 Python 脚本时自动清除。请注意,我不是在寻找清除终端的键盘快捷键,而是需要终端在显示当前脚本的输出之前自动清除旧输出。 我找不到任何可以做到这一点的东西,希望有人能提供出路

【问题讨论】:

  • 这不是重复的,我对接受的答案和所有其他答案不满意。为什么我们必须为此添加额外的代码行。 VScode 应该有一个内置的配置功能。每次运行前清除终端。问太多了吗?

标签: python visual-studio-code vscode-settings vscode-tasks


【解决方案1】:

您可以import os,然后在脚本顶部运行os.system('clear')

示例:

import os
os.system('cls||clear') # this line clears the screen 'cls' = windows 'clear' = unix
# below is my main script
print("hello world!")

【讨论】:

  • 是的,谢谢,我正处于学习 Python 的早期阶段,所以不知道它可以使用 python 本身来完成。我想我需要摆弄 VSCode 中的一些高级设置来实现它
【解决方案2】:

一个简单的原生 vscode 解决方案是利用可配置的 launch.json 文件。具体来说:

internalConsoleOptions

控制何时打开内部调试控制台

redirectOutput

这两个串联使用将打开“调试控制台”而不是终端,并且只提供必要的输出;尽管如果您仍然需要它,它仍会发送到终端:

"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Current File",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "internalConsoleOptions": "openOnSessionStart",
        "redirectOutput": true
    }
]

【讨论】:

    【解决方案3】:

    在@Jacques 答案的基础上,您可以使用sys 模块动态执行平台检查:

    import os
    import sys
    
    # Linux
    if sys.platform.startswith('linux'):
        os.system('clear')
    # Windows
    elif sys.platform.startswith('win32'):
        os.system('cls')
    

    或者,请参阅这篇关于配置 vscode 为所有程序执行此操作的帖子:How do I automatically clear VS Code terminal when starting a build?

    【讨论】:

    • 特别感谢这个可以为所有程序通用清除终端的程序,将检查它
    • 你搞错了,linux使用clear而windows使用cls
    猜你喜欢
    • 2020-11-05
    • 2012-11-03
    • 1970-01-01
    • 2012-03-29
    • 2023-04-10
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    相关资源
    最近更新 更多