Visual Studio Code Debug Console的颜色?

时间:2017-04-20 19:18:53

标签: node.js visual-studio-code vscode-settings

在调试node.js代码时,有没有办法在Visual Studio Code(版本1.10.2)的调试控制台中显示颜色(如在终端中)?

9 个答案:

答案 0 :(得分:5)

我想到目前为止最好的方法是将调试输出放入备用目的地:

在启动配置属性中,console设置可以设置为以下之一:internalConsole(默认情况下,内置调试控制台)externalTerminal(外部cmd窗口)或{{1 (VS Code终端)。

可以在VS代码设置中进一步指定外部终端命令行,其中一个是默认的os终端,默认为integratedTerminalterminal.external.windowsExecterminal.external.osxExec

来源:VS Code文档,例如node.js:https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_launch-configuration-attributes

答案 1 :(得分:3)

为获得最佳结果,也请避免打开控制台。这是我用Jest调试当前文件的配置:

{
    "type": "node",
    "request": "launch",
    "name": "Jest Test (current)",
    "program": "${workspaceFolder}/node_modules/.bin/jest",
    "args": [
        "--config=jest.config.json",
        "--runInBand",
        "${relativeFile}",
    ],
    // The vscode console does not support colors used by Jest output
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen",
}

答案 2 :(得分:2)

v1.45添加了许多调试主题颜色,请参见https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_45.md#new-debug-theme-colors

debugView.exceptionLabelForeground:调试器因异常而中断时,在CALL STACK视图中显示的标签的前景色

  • debugView.exceptionLabelBackground:调试器因异常而中断时,在CALL STACK视图中显示的标签的背景颜色

  • debugView.stateLabelForeground:“呼叫堆栈”视图中标签的前景色,显示当前会话或线程的状态

  • debugView.stateLabelBackground:“呼叫堆栈”视图中标签的背景颜色,显示当前会话或线程的状态

  • debugView.valueChangedHighlight:用于在调试视图(即变量视图)中突出显示值更改的颜色

  • debugTokenExpression.name:调试视图(即“变量”或“监视”视图)中显示的令牌名称的前景色

  • debugTokenExpression.value:调试视图中显示的令牌值的前景色

  • debugTokenExpression.string:调试视图中字符串的前景色

  • debugTokenExpression.boolean:调试视图中布尔值的前景色

  • debugTokenExpression.number:调试视图中数字的前景色

  • debugTokenExpression.error:调试视图中表达式错误的前景色


在v1.46(v1.46 release notes)中,添加了一些调试控制台主题化项目:

  • debugConsole.infoForeground:调试控制台中信息消息的前景色
  • debugConsole.warningForeground:调试控制台中警告消息的前景色
  • debugConsole.errorForeground:调试控制台中错误消息的前景色
  • debugConsole.sourceForeground:调试控制台中源文件名的前景色
  • debugConsoleInputIcon.foreground:调试控制台输入标记图标的前景色

答案 3 :(得分:1)

要在Visual Studio中从nodejs输出彩色消息,可以在console.log方法中使用格式化消息。例如:

console.log('\u001b[' + 32 + 'm' + 'hello stack' + '\u001b[0m')

(在Mocha中实施)。 32是颜色代码。您可以在其仓库中找到其他颜色代码和用法示例:https://github.com/mochajs/mocha/blob/9e95d36e4b715380cef573014dec852bded3f8e1/lib/reporters/base.js#L48

enter image description here

或者作为您可以使用的日志库,例如pinojs + pino-pretty模块,您的日志输出将显示为:

enter image description here

答案 4 :(得分:1)

尝试使用npm中的“ colors”包。它非常易于使用,您也可以使用诸如粗体和下划线之类的功能。这是其文档的网址:-https://www.npmjs.com/package/colors

答案 5 :(得分:0)

我的设置,彩色步骤:

{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [

    {
        "type": "node",
        "request": "launch",
        "console": "integratedTerminal",
        "name": "Cucumber",
        "program": "${workspaceFolder}/tests/cucumberjs/node_modules/cucumber/bin/cucumber-js",
        "cwd": "${workspaceFolder}/tests/cucumberjs",
        "args": [
            "--tags=@luke",
            "--format=node_modules/cucumber-pretty"
        ],
        "outputCapture": "std"
    }
]

}

答案 6 :(得分:0)

添加--colors参数对我有用。 (我在开玩笑)。

{
  "version": "0.2.0",
  "configurations": [{
    "type": "node",
    "name": "vscode-jest-tests",
    "request": "launch",
    "args": ["--colors"],
    "runtimeArgs": [
      "--inspect-brk",
      "${workspaceRoot}/node_modules/.bin/jest",
      "--runInBand"
    ],
    "cwd": "${workspaceFolder}",
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen",
    "port": 9229
  }]
}

答案 7 :(得分:0)

从Java noob的Java控制台确实又快又脏:

private static void debugLog(String msg) {
  if (msg.indexOf("Exception") > -1) {
    System.out.println("\u001b[31m" + msg + "\u001b[0m");
  } else {
    System.out.println("\u001b[32m" + msg + "\u001b[0m");
  }
}

答案 8 :(得分:0)

有关知识,请参阅@https://stackoverflow.com/a/55493884/3645650

这只是一个无脑的答案。

<头>
版本
测试到 Visual Studio Code 2021 年 5 月(版本 1.57

文字

console.log( "\u001b[1;31m Red message" );
console.log( "\u001b[1;32m Green message" );
console.log( "\u001b[1;33m Yellow message" );
console.log( "\u001b[1;34m Blue message" );
console.log( "\u001b[1;35m Purple message" );
console.log( "\u001b[1;36m Cyan message" );

背景

console.log( "\u001b[1;41m Red background" );
console.log( "\u001b[1;42m Green background" );
console.log( "\u001b[1;43m Yellow background" );
console.log( "\u001b[1;44m Blue background" );
console.log( "\u001b[1;45m Purple background" );
console.log( "\u001b[1;46m Cyan background" );

要重置每种样式,您需要应用以下内容:

console.log( "\u001b[0m Reset text and background color/style to default" );

示例

console.log( "\u001b[1;31m --process: Error" + "\u001b[0m" );