質問: ### 問題点 * VSCode上でcout一つで複数を出力しようとすると勝手に改行される。 ### コード例 ``` cout << "hoge"; // OK cout << "hoge1" << "hoge2"; // このように書いた場合、 cout << "hoge1" << "hoge2"; // という風に改行されてしまう。 出来れば上のように表示をしたい。 ``` ### 不明点 * これはclang-formatの設定のせいなのか? * そうでは無いならば、C/C++ Clang Command Adapterのせいなのか? ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/83a2c6cfd23ee23a281f67d4dafa3de1.png) clang-formatの設定です。 関係ありませんが最近突然Terminalが"挿入"とか日本語になったのびっくりですね。
回答: なにやら変なコメントがつき始めたので、問題の整理と対応法を回答として投稿しておきます。 問題の整理 ここの問題はVScodeのC/C++というプラグインが提供するコードフォーマット機能であり、そのバックエンドはclang-formatです。clang-formatはコマンドラインツールとしても使えるので、上記の問題をデバッグするにはターミナルから-style=flie等のオプションを加えて実行することで質問者の現象を再現できます。 ### 対応方法 この問題は二つに分けることができて、 1. clang-formatの設定で所望のフォーマットを実現できるか 2. できない場合、自動フォーマットをどのように止めるか です。1. については試行錯誤してみましたが、いい設定方法は見つかりませんでした。2. については、次善の策としてVScodeが自動でclang-formatを止める、というのをコメントで書いておりました。 ### その他の方法 ここまで書いて思い出したのですが、特定のコードブロックをclang-formatに無視させる方法がありました。 Disabling Formatting on a Piece of Code よければこちらもお試しください。