【问题标题】:How to add hyperlinks to a terminal [ Node.js ]如何向终端添加超链接 [Node.js]
【发布时间】:2021-11-17 17:15:22
【问题描述】:

我希望使用process.stdout.write() 在我的终端输出中添加一个超链接,这只是一个console.log(),末尾有一个换行符(\n)。

到目前为止我所做的尝试:

  • console.log(`\e]8;;http://example.com\aThis is a hyperlink\e]8;;\a`);
    
  • process.stdout.write(`[This is a hyperlink](http://example.com)`);
    

虽然输出与打印到我的控制台的整个字符串保持不变。

Possible Duplicate Question - 不回答我的问题

【问题讨论】:

  • 这不是你能控制的。它由终端而不是您处理。例如,在 Bash 中,按住 shift 并单击鼠标左键会打开链接。您对此无能为力。只需打印出 url http://example.com 即可开始使用。
  • 虽然 URL 太长,我不想将它作为一个整体添加,但通过 URL 缩短器传递它不是一种选择,因为它看起来很阴暗,因为它是一个敏感的 URL,所以我需要它保持原来的形式

标签: node.js shell terminal


【解决方案1】:

有一些功能齐全的终端界面可以实现这一目标。但是一般大多数终端界面都是Dumb Terminals,不支持可点击的超链接。

新的Windows 1.4 Terminal 将支持超链接,但将与 Windows 11 一起发布。

一个有据可查的全功能终端是GNOME

echo -e '\e]8;;http://example.com\aThis is a hyperlink\e]8;;\a'  

这是一个代码 sn-p 如果如何在 gnome 中对其进行操作,一旦您 ctrl + 单击它,超链接会将您重定向到您想要的页面。

【讨论】:

  • 原来如此,windows终端居然还不支持超链接?
  • 当前版本的Windows终端不支持。但是您可以在本地机器上安装 windows terminal 1.4 Preview。 microsoft.com/nl-be/p/windows-terminal-preview/…这里是windows商店链接:)
  • 非常感谢您的回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
  • 2017-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
相关资源
最近更新 更多