Я реализую пользовательский отладчик, используя протокол адаптера отладки для кода VS (версия 1.26.1). Адаптер отладки написан на Java и использует LSP4J 0.5.0M1 для связи с клиентом.
Базовое выражение запуска и оценки уже работает. Я могу ввести выражение в Консоль отладки VS Code и сделать так, чтобы сервер отладки оценил его.
Теперь я хотел раскрасить результат, полученный из запроса evaluate
. Например, сообщения об ошибках для выражения, которое нельзя оценить, должны быть напечатаны красным цветом.
Запрос отправляется так:
{
"jsonrpc": "2.0",
"id": 3,
"method": "evaluate",
"params": {
"expression": "bad expression",
"context": "repl"
}
}
Ответ выглядит следующим образом и содержит управляющие коды ANSI для раскраски вывода:
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"result": "\u001b[31mFailed to evaluate expresion\n...\u001b[0m",
"variablesReference": 0
}
}
Однако коды перехода игнорируются, и вывод в Debug Console выглядит следующим образом:
[31mFailed to evaluate expression:
...[0m
Были открыты различные проблемы с запросом VS Code о поддержке escape-кодов ANSI или сообщением о нарушении поддержки цвета, некоторые из них перечислены ниже
Но все они, похоже, решены.
Может ли кто-нибудь помочь мне найти правильный ответ для цветного вывода в Консоль отладки ?