[英]Visual Studio Code \n in Output & Debug Console
我正在使用 Visual Studio Code 在 Windows 10 机器上使用 Python 3.9.7 创建 AWS Lambda SAM 应用程序。 我在 Visual Studio Code 中使用 AWS Toolkit 和 Python 扩展。
在运行/调试 Lambda SAM 应用程序时,Visual Studio 代码输出窗口和调试控制台都将错误消息和堆栈跟踪显示为带有 \\n 字符的未格式化字典,而不是在输出中添加实际的新行。 典型的错误/堆栈跟踪非常不可读,如下所示,但根据窗口宽度自动换行:
{"errorMessage": "\"['Date'] not in index\"", "errorType": "KeyError", "requestId": "b77183d6-140c-418f-a94d-3f3e2a091b91", "stackTrace": [" File \"/var/task/app.py\", line 44, in lambda_handler\n modelreturn, modeltopN = neuralnet.np_neuralnet_trainfirereturn ( df, payload )\n", " File \"/var/task/neuralnet.py\", line 175, in np_neuralnet_trainfirereturn\n np_dfdateindexes, np_dates = dates.np_getdates(df[[datecolumnname, \"Ticker\"]].sort_values(by=[datecolumnname, \"Ticker\"]).reset_index(drop=True))\n", " File \"/var/task/pandas/core/frame.py\", line 3464, in __getitem__\n indexer = self.loc._get_listlike_indexer(key, axis=1)[1]\n", " File \"/var/task/pandas/core/indexing.py\", line 1314, in _get_listlike_indexer\n self._validate_read_indexer(keyarr, indexer, axis)\n", " File \"/var/task/pandas/core/indexing.py\", line 1377, in _validate_read_indexer\n raise KeyError(f\"{not_found} not in index\")\n"]}
我尝试在 Visual Studio Code 的右下角切换 CRLF 和 LF 无济于事。
我能找到的最接近的相关问题是https://github.com/microsoft/vscode/issues/73845 ,它似乎得出的结论是“VS Code 前端不应转义换行符。由调试扩展决定如何应该显示数据,调试扩展可以决定是否应该转义换行符。"
所以听起来 \\n 的处理应该由 AWS SAM 扩展或 Python 扩展来完成? 但是,我找不到任何设置来控制输出或调试控制台窗口中的 \\n 行为。 我什至不确定是否需要在 VSCode、AWS Toolkit 或 Python 扩展中解决这个问题?
如何获得 Visual Studio Code、AWS SAM 扩展或 Python 扩展,通过用换行符替换 \\n 字符,使错误消息和堆栈跟踪更具可读性和可用性,因此输出窗口和/或调试控制台窗口看起来更像下列的? 是否有一些我缺少的设置或其他一些会格式化输出的扩展?
{"errorMessage": "\"['Date'] not in index\"", "errorType": "KeyError", "requestId": "b77183d6-140c-418f-a94d-3f3e2a091b91", "stackTrace": [" File \"/var/task/app.py\", line 44, in lambda_handler
modelreturn, modeltopN = net.np_net_return ( df, payload )
File \"/var/task/net.py\", line 175, in np_net_return
np_dfdateindexes, np_dates = dates.np_getdates(df[[datecolumnname, \"Ticker\"]].sort_values(by=[datecolumnname, \"Ticker\"]).reset_index(drop=True))
File \"/var/task/pandas/core/frame.py\", line 3464, in __getitem__
indexer = self.loc._get_listlike_indexer(key, axis=1)[1]
File \"/var/task/pandas/core/indexing.py\", line 1314, in _get_listlike_indexer
self._validate_read_indexer(keyarr, indexer, axis)
File \"/var/task/pandas/core/indexing.py\", line 1377, in _validate_read_indexer
raise KeyError(f\"{not_found} not in index\")\n"]}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.