遇到了需要控制台输出不同的颜色做区分,但是不想引用第三方库,记录一下
使用方法
控制台输出能控制颜色的原理是
ANSI Escape code
,其中有专门控制字符颜色的控制符,格式如下:
\e[背景色;前景色;其他样式m
或者
\0x1B[背景色;前景色;其他样式m
或者
\033[背景色;前景色;其他样式m
以特殊转义字符开头,
m
结尾,中间的样式用
;
隔开,举个例子:
console.log('\033[44;30m测试输出样式\033[0m') // 输出蓝底黑字
常用代码
想使用其他的颜色以及样式使用其他的代码替换样式部分就行了,下面是我觉得比较常用的
代码 | 作用 |
---|---|
30–37 | 前景色 |
90–97 | 明亮前景色 |
39 | 默认前景色 |
40-47 | 背景色 |
100-107 | 明亮背景色 |
49 | 默认背景色 |
颜色代码
下面是具体的颜色代码
代码 | 前景色 | 背景色 |
---|---|---|
黑 | 30 | 40 |
红 | 31 | 41 |
绿 | 32 | 42 |
黄 | 33 | 43 |
蓝 | 34 | 44 |
品红 | 35 | 45 |
青 | 36 | 46 |
白 | 37 | 47 |
亮黑 | 90 | 100 |
亮红 | 91 | 101 |
亮绿 | 92 | 102 |
亮黄 | 93 | 103 |
亮蓝 | 94 | 104 |
亮品红 | 95 | 105 |
亮青 | 96 | 106 |
亮白 | 97 | 107 |
特殊标记
标记 | 作用 |
---|---|
\033[0m | 关闭所有属性 |
\033[1m | 设置高亮度 |
\033[4m | 下划线 |
\033[5m | 闪烁 |
\033[7m | 反显 |
\033[8m | 消隐 |
\033[nA | 光标上移n行 |
\033[nB | 光标下移n行 |
\033[nC | 光标右移n列 |
\033[nD | 光标左移n列 |
\033[y;xH | 设置光标位置(y列x行) |
\033[2J | 清屏 |
\033[K | 清除从光标到行尾的内容 |
更多样式参考
维基百科关于ANSI Escape code的部分
版权声明:本文为weixin_45716124原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。