2012-06-08 47 views

回答

41

貌似目前最好的办法是此属性:

process.stdout.columns 

而对于高(行):

process.stdout.rows 

还要注意的是有一个 “调整” 事件,可能会派上用场:

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

Documenta这里: http://nodejs.org/api/tty.html#tty_tty

+3

在windows中,[它实际上是'Screen Buffer Size'](http://i.imgur.com/hztJGq3.png),而不是当前的控制台宽度。 – laggingreflex

16
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 - yes'getWindowSize()'与平台兼容 –