我想设置控制台输出(console.log('%cTest', 'color: lime')
)的样式以用于调试,因此我需要确定脚本是否在VSCode中运行。有可能吗?
澄清:我想要“同构”代码,该代码可以检测它是否在VSCode中运行并在VSCode中运行彩色console.log输出,并在常规console.log
中运行。
答案 0 :(得分:2)
实际上,您需要检测控制台是否支持颜色(及其支持颜色的程度),而不是嗅探是否从VSCode启动了Node.js程序。
要实现此要求,可以使用npm模块supports-color:
// Code example taken from supports-color document
const supportsColor = require('supports-color');
if (supportsColor.stdout) {
console.log('Terminal stdout supports color');
}
if (supportsColor.stdout.has256) {
console.log('Terminal stdout supports 256 colors');
}
if (supportsColor.stderr.has16m) {
console.log('Terminal stderr supports 16 million colors (truecolor)');
}