- Shell 集成
- 这是如何工作的?
- 如何启用 shell 集成标记
- PowerShell ()
- 命令提示符
- Bash
- Shell 集成功能
- 在同一工作目录中打开新选项卡
- 在滚动条中显示每个命令的标记
- 在命令之间自动跳转
- 选择命令的整个输出
- 最近的命令建议
- 其他资源
从终端 1.15 预览版开始,Windows 终端已开始试验性地支持一些“shell 集成”功能。 这些功能使命令行更易于使用。 在早期版本中,我们启用了 shell 来告知终端当前工作目录是什么。 现在,我们添加了对更多序列的支持,允许 shell 以语义方式将终端输出的各个部分描述为“提示”、“命令”或“输出”。 shell 还可以告知终端某个命令是成功还是失败。
这是从终端 v1.18 开始推出的一些 shell 集成功能的指南。 我们计划在将来基于这些功能构建更多功能,因此希望获得一些有关用户如何使用它们的其他反馈。
注意:从 Terminal 1.21 开始,标记现在是一个稳定的功能。 在 1.21 之前,仅为 Terminal 的预览版启用了标记。 如果你使用的是 1.21 之前的 Terminal 版本,则 设置被命名为 , 被命名为 。
shell 集成的工作原理是让 shell(或任何命令行应用程序)向终端写入特殊的“转义序列”。 这些转义序列不会输出到终端,而是提供一些元数据供终端用来详细了解应用程序中发生的情况。 通过将这些序列粘贴到 shell 的提示符中,你可以让 shell 不断向终端提供只有 shell 知道的信息。
对于以下序列来说:
- 是字符串 - 一个转义字符,后跟
- 是“字符串终止符”,可以是 (ESC 字符,后跟 ),也可以是 (BEL 字符)
- 空格只是说明性的。
- 中的字符串是应由其他值替换的参数。
从终端 v1.18 开始,相关的受支持的 shell 集成序列为:
- (“FTCS_PROMPT”)- 提示开始。
- (“FTCS_COMMAND_START”)- 命令行开始(READ:提示结束)。
- (“FTCS_COMMAND_EXECUTED”)- 命令输出开始/命令行结束。
- (“FTCS_COMMAND_FINISHED”)- 命令结束。 如果提供了 ,则终端会将 视为“成功”,将其他任何情况视为错误。 如果省略此项,则终端就会让标记保留默认颜色。
支持这些功能需要 shell 和终端之间的协作。 需要在终端中启用设置才能使用这些新功能,还需要修改 shell 的提示符。
若要在终端中启用这些功能,需要将以下内容添加到设置中:
在 shell 中启用这些标记的方式因 shell 而异。 下面是 CMD、PowerShell 和 Zsh 的教程。
如果你之前从未更改过 PowerShell 提示符,则应先查看 about_Prompts。
我们需要编辑你的 ,以确保将有关 CWD 的信息告知终端,并使用适当的标记来标记提示。 PowerShell 还允许我们在 序列中包含上一个命令的错误代码,这将使终端能够自动根据命令是成功还是失败为标记着色。
将以下内容添加到 PowerShell 配置文件:
哦, 我的 Posh 设置
使用 oh-my-posh? 你需要稍微修改上述内容,以藏匿原始提示,然后将其添加回 shell 集成转义序列的中间。
命令提示符从 环境变量获取提示。 CMD.exe 将 读取为 字符。 遗憾的是,CMD.exe 没有办法在提示中获取上一个命令的返回代码,因此我们无法在 CMD 提示中提供成功/错误信息。
可通过运行以下命令更改当前 CMD.exe 实例的提示:
也可从命令行为所有未来会话设置变量:
这些示例假定当前 只是 。 你可以改为选择使用如下所示内容来包装当前提示:
你可以将以下内容添加到 末尾,以便在 bash 中启用 shell 集成:
这将用必要的序列包装现有 以启用 shell 集成。
注意:没有在这里看到你喜欢的 shell? 如果你已清楚,可随意为你喜欢的 shell 提供一个解决方案!
这使用 操作,因为我们在前面已定义了它们。
在此 gif 中,我们使用绑定到 的 操作来选择命令的整个输出。
下面的代码使用 设置在 Terminal 中启用一个右键单击上下文菜单。 启用该菜单和 shell 集成后,你可以右键单击某个命令来选择整个命令或其输出。
启用 shell 集成后,可以将“建议”UI 配置为还显示最近的命令。
可以使用以下操作打开此菜单:
(有关详细信息,请参阅建议文档)
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/16108.html