如何从 Node.js 设置终端选项卡标题?

Posted

技术标签:

【中文标题】如何从 Node.js 设置终端选项卡标题?【英文标题】:How do you set the terminal tab title from Node.js? 【发布时间】:2015-06-15 09:47:21 【问题描述】:

我知道这可以通过终端手动完成:

echo -n -e "\033]0;My terminal tab title\007"

我尝试将它放入 console.logprocess.stdout.write 并摆弄转义,但我无法让它工作。

【问题讨论】:

> process.stdout.write("\033]0;My terminal tab title123\007"); 非常适合我(iTerm2) 【参考方案1】:

为了节省阅读本文的任何人的时间,这里有一个在严格模式下执行的函数:

function setTerminalTitle(title)

  process.stdout.write(
    String.fromCharCode(27) + "]0;" + title + String.fromCharCode(7)
  );

【讨论】:

嗯,这个包还提供了一个可执行的节点脚本。因此,您可以在 npm 脚本中设置 bash 标题:并删除该单行代码。这有多酷:) 使用模板文字字符串:process.stdout.write(`$String.fromCharCode(27)]0;$title$String.fromCharCode(7)`);【参考方案2】:

有一个节点库:node-bash-title

在节点中的使用

要安装库:

npm install node-bash-title --save

在你的脚本中:

const setTitle = require('node-bash-title');
setTitle('?  Server');

在 NPM 脚本中的使用

这个包还提供了一个可执行脚本。你可以在你的 npm 脚本中使用它。例如:

"scripts": 
    "start:dev": "set-bash-title server && node server/app.js"
    "start:prod": "node server/app.js"
 ,

因此您可以从代码中删除标题脚本。此外,仅当您要设置标题时才设置标题(在开发模式下)。在生产模式下,您可能不想设置标题,因为您的脚本可能不会在 XTerm 中执行 :)

【讨论】:

万岁,当您可以在一行代码中做同样的事情时添加另一个黑盒依赖项。 嗯.. 这个库还为您提供了一个可执行的节点脚本 set-bash-title,因此您可以在 NPM 脚本中使用它并删除 代码中的一行代码和黑盒依赖项:` "scripts": "start": "set-bash-title server && node server/app.js" ,` 爱它。认为这是一个很好的答案,特别是因为它可以在 package.json 中完成,而无需记住几个晦涩的十六进制代码。 帮助,谢谢

以上是关于如何从 Node.js 设置终端选项卡标题?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 VS Code 终端选择 UI 从选项卡更改回下拉菜单? [复制]

启用或禁用 VS Code 集成终端选项卡?

如何从 MFC 选项卡控件 (TabCtrl) 获取额外数据?

如何从MFC选项卡控件(TabCtrl)获取额外数据?

如何以编程方式从片段内部设置ViewPager选项卡?

如何在同一目录的 Windows 终端中打开一个新的 git-bash 选项卡?