【问题标题】:How to clear the entire terminal (PowerShell)如何清除整个终端(PowerShell)
【发布时间】:2019-02-07 04:57:18
【问题描述】:

我有一个问题。在powershell中使用clear或cls命令只清除终端的可见部分,我想知道如何清除整个终端?

顺便说一下,我用的是VSCode。

【问题讨论】:

  • 请说明您的问题。什么是未清除的不可见部分?
  • 取决于终端。
  • clearcls 都是 PowerShell cmdlet Clear-Host 的别名。我没有遇到您在 PowerShell 控制台中似乎遇到的问题。

标签: powershell terminal visual-studio-code


【解决方案1】:

要同时清除 回滚缓冲区,而不仅仅是 Visual Studio Code 的集成终端中终端的可见部分,请使用以下方法:

  • 使用命令面板

    • Ctrl+Shift+P 并键入 tclear 以匹配 Terminal: Clear 命令并按 Enter
  • 使用集成终端的上下文菜单

    • 右键单击终端并从上下文菜单中选择Clear
    • Windows 上,您可能必须先启用集成终端的上下文菜单,因为默认情况下右键单击 粘贴 来自剪贴板:
      打开设置 (Ctrl+,) 并将设置 terminal.integrated.rightClickBehavior 更改为 defaultselectWord(后者在显示上下文菜单之前选择光标下的单词)。
  • 在集成终端内使用键盘快捷键

    • Windows 上,使用默认值 Ctrl+K
    • 从 VSCode 1.30.1 开始,在 macOS 上,存在默认值 Cmd+K,但 不起作用,而在Linux 根本没有默认值。
      这两种情况下的解决方案是通过直接编辑文件keybindings.json(来自命令面板的命令Preferences: Open Keyboard Shortcuts File定义自定义键绑定,如下所示:
{
  "key": "ctrl+k", // on macOS, alternatively use "cmd+k"
  "command": "workbench.action.terminal.clear",
  "when": "terminalFocus" // To avoid conflicts with Ctrl+K *chords* elsewhere
}

使用命令,您可以从集成终端中的shell调用

注意:真正的跨平台解决方案需要从 shell 执行 VSCode-internal workbench.action.terminal.clear 命令,但我不知道该怎么做/如果可能的话- 如果您知道,请告诉我们。

  • Linux(至少在 Ubuntu 上观察到):

    • 使用标准的 clear 实用程序 (/usr/bin/clear),它还会清除回滚缓冲区。
  • ma​​cOS

    • 打印以下 ANSI 控制序列(不幸的是,标准的/usr/bin/clear 实用程序只清除一屏,而不是回滚缓冲区):'\e[2J\e[3J\e[H'\e 表示 ESC 字符。( 0x1b, 27); 例如,来自bash: printf '\e[2J\e[3J\e[H'

    • 您可以轻松地将这个调用封装在一个 shell 脚本中以便在任何 shell 中使用:在系统的 PATH 变量中列出的目录中创建一个名为 cclear 的文件,然后使用 chmod a+x 使其可执行;然后将以下内容保存到其中:

      #!/bin/bash
      
      # Clears the terminal screen *and the scrollback buffer*.
      # (Needed only on macOS, where /usr/bin/clear doesn't do the latter.)
      
      printf '\e[2J\e[3J\e[H'
      
  • Windows

    • 没有我知道的解决方案:cmd.exe 的内部 cls 命令和 PowerShell 的内部 Clear-Host 命令仅在集成终端中清除一屏(不包括回滚缓冲区- 尽管他们也执行后者在常规控制台窗口Windows终端)。

【讨论】:

  • 在 ubuntu 中,我们可以很容易地在命令行中做到这一点:'clear; jest' 擦除滚动缓冲区并运行测试。是否有一个 command line 选项我们可以在 vscode 内部对命令 shell 或 powershell 执行相同的操作?
  • @alfreema,请看我的更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 2023-02-22
  • 2015-07-05
  • 2015-05-06
  • 2016-02-07
  • 2012-04-23
相关资源
最近更新 更多