如何从 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.log
和 process.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 从选项卡更改回下拉菜单? [复制]