node.js控制台有多宽?

age*_*t-j 24 console node.js

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

.net中的模拟是Console.BufferWidth和/或Console.WindowWidth.

我想对我的换行进行更多控制.

小智 44

看起来目前最好的方式是这个属性:

process.stdout.columns
Run Code Online (Sandbox Code Playgroud)

对于高度(行):

process.stdout.rows
Run Code Online (Sandbox Code Playgroud)

另请注意,有一个"调整大小"事件,可能会派上用场:

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

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

  • 在Windows中,[它实际上是"屏幕缓冲区大小"](http://i.imgur.com/hztJGq3.png),而不是当前的控制台宽度. (3认同)

小智 16

if (process.stdout.isTTY) {
  console.log("The console size is:", process.stdout.getWindowSize());
} else {
  console.log("stdout is not a console");
} 
Run Code Online (Sandbox Code Playgroud)

  • @netpoetica - 是的`getWindowSize()`与平台兼容 (2认同)