1. 問題
VSCodeでPythonプログラムのデバッグを行う際,「デバッグ コンソール」(「ターミナル」や「出力」とは別物)において,tqdmによるプログレスバーの表示が崩れてしまう.図1にその様子を示す.
2. 解決?
デバッグコンソール側が\r
をサポートしていない可能性が浮上*1したため調べたところ,「出力」パネルについては\r
がサポートされていないとわかった.「デバッグ コンソール」についてもこれと同じ理由で表示が崩れてしまうのだと思う.
Tyriar commented on Oct 7, 2021
The output panel is not a real terminal and only supports appending, not rewriting of lines.
(引用元: tqdm creates new lines in output console · Issue #120529 · microsoft/vscode · GitHub)
ちなみに「ターミナル」では表示崩れは起きなかった.参考にipythonでの実行結果を載せる(動画でないと伝わらないと思うが).
In [5]: for i in tqdm(range(10000000)): ...: pass ...: 100%|███████████████████████████| 10000000/10000000 [00:01<00:00, 5111618.74it/s]