Есть ли способ отображать цвета (как в терминале) в консоли отладки кода Visual Studio (версия 1.10.2) при отладке кода node.js?
Цвета консоли отладки кода Visual Studio?
Ответы (9)
Я думаю, что пока лучший способ - поместить выходные данные отладки в альтернативные места назначения:
В атрибутах конфигурации запуска параметр console
может иметь одно из следующих значений: internalConsole
(по умолчанию, встроенная консоль отладки) externalTerminal
(внешнее окно cmd) или integratedTerminal
(терминал VS Code).
Командная строка внешнего терминала может быть дополнительно указана в настройках кода VS в одном из следующих вариантов: terminal.external.windowsExec
, terminal.external.osxExec
и terminal.external.linuxExec
по умолчанию, который является вашим терминалом операционной системы по умолчанию.
Источник: документы VS Code, например для node.js: https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_launch-configuration-attributes
externalTerminal
также отображает это без цвета при использовании функции отладки расширения Jest.
- person Norfeldt; 26.10.2019
Для вывода цветных сообщений из nodejs в Visual Studio вы можете использовать форматированное сообщение в методе console.log. Например :
console.log('\u001b[' + 32 + 'm' + 'hello stack' + '\u001b[0m')
как реализовано в Mocha. 32 - это цветовой код. Другие цветовые коды и образец использования вы можете найти в их репозитории:
Или в качестве библиотеки журналов вы можете использовать, например, pinojs + pino-pretty, и вывод вашего журнала будет отображаться следующим образом:
Для достижения наилучших результатов также не открывайте консоль. Вот моя конфигурация для отладки текущего файла с помощью 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",
}
v1.45 добавляет набор цветов темы отладки, см. https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_45.md#new-debug-theme-цвета
debugView.exceptionLabelForeground
: цвет переднего плана для метки, отображаемой в представлении СТЕК ВЫЗОВОВ, когда отладчик прерывает работу при возникновении исключения.
debugView.exceptionLabelBackground
: Цвет фона для метки, отображаемой в представлении СТЕК ВЫЗОВОВ, когда отладчик прерывает работу при возникновении исключения.debugView.stateLabelForeground
: цвет переднего плана для метки в представлении СТЕК ВЫЗОВОВ, показывающий состояние текущего сеанса или потока.debugView.stateLabelBackground
: Цвет фона для метки в представлении СТЕК ВЫЗОВОВ, показывающий состояние текущего сеанса или потока.debugView.valueChangedHighlight
: Цвет, используемый для выделения изменений значений в представлениях отладки (т. Е. В представлении переменных)debugTokenExpression.name
: Цвет переднего плана для имен токенов, отображаемых в представлениях отладки (т. Е. В представлении «Переменные» или «Наблюдение»).debugTokenExpression.value
: цвет переднего плана для значений токена, отображаемых в представлениях отладкиdebugTokenExpression.string
: Цвет переднего плана для строк в представлениях отладкиdebugTokenExpression.boolean
: Цвет переднего плана для логических значений в представлениях отладкиdebugTokenExpression.number
: Цвет переднего плана для чисел в представлениях отладкиdebugTokenExpression.error
: Цвет переднего плана для ошибок выражений в представлениях отладки
А в версии 1.46 (примечания к выпуску v1.46), добавляются некоторые тематические элементы консоли отладки:
debugConsole.infoForeground
: Цвет переднего плана для информационных сообщений в консоли отладкиdebugConsole.warningForeground
: цвет переднего плана для предупреждающих сообщений в консоли отладкиdebugConsole.errorForeground
: Цвет переднего плана для сообщений об ошибках в консоли отладкиdebugConsole.sourceForeground
: Цвет переднего плана для имен исходных файлов в консоли отладкиdebugConsoleInputIcon.foreground
: Цвет переднего плана для значка маркера ввода консоли отладки
Специально для встроенных значений, отображаемых во время отладки (не в консоли отладки, а для значений переменных, отображаемых в конце строк в коде), в v1.57 добавлена пара новых цветов:
В тему встроенных значений добавлены новые цвета:
editor.inlineValuesBackground
: цвет текста переднего плана встроенного значения отладкиeditor.inlineValuesForeground
: цвет фона встроенного значения отладки.В качестве напоминания встроенные значения отображаются во время отладки для расширений отладки, в которых зарегистрированы встроенные поставщики значений, или если параметр
debug.inlineValues
равенtrue
.
Моя настройка, цветные шаги:
Я думаю, что основным атрибутом цвета здесь является --format=node_modules/cucumber-pretty
{
// 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"
]
}
]
}
"console": "integratedTerminal"
это избыточно (не имеет никакого эффекта) "outputCapture": "std"
- person Evgeny; 09.02.2020
Добавление аргумента --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
}]
}
Попробуйте использовать пакет цветов от npm. Он очень прост в использовании, и вы также можете использовать такие функции, как полужирный шрифт и подчеркивание. Вот URL-адрес документации: - https://www.npmjs.com/package/colors а>
Действительно быстро и грязно для консоли Java от 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");
}
}
Дополнительные сведения см. В @ https://stackoverflow.com/a/55493884/3645650.
Вот просто ответ без ума.
Versions | |
---|---|
Tested up to | Visual Studio Code May 2021 (version 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" );