Node.js控制台有多宽?

26

在 Node.js 中,我如何获取控制台窗口和/或缓冲区的当前宽度?

在 .net 中的类比是 Console.BufferWidth 和 / 或 Console.WindowWidth

我想更好地控制自己的换行。

2个回答

50

看起来目前最好的方法是使用这个属性:

process.stdout.columns

至于高度(行数):

process.stdout.rows

还要注意,有一个“resize”事件,可能会很方便:

process.stdout.on('resize', function() {
  console.log('screen size has changed!');
  console.log(process.stdout.columns + 'x' + process.stdout.rows);
});

文档在这里: http://nodejs.org/api/tty.html#tty_tty


3
在Windows中,“实际上是Screen Buffer Size”,而不是当前控制台宽度。 - laggingreflex

17
if (process.stdout.isTTY) {
  console.log("The console size is:", process.stdout.getWindowSize());
} else {
  console.log("stdout is not a console");
} 

1
getWindowSize() 是否跨平台兼容? - netpoetica
2
@netpoetica - 是的,getWindowSize() 是跨平台兼容的。 - bogdan.mustiata

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接