質問
タイトルどおりですが、簡易なfor()とif() を同時に1行でフォーマットすることは可能なのでしょうか?
参考資料を見ながら思い当たる設定はしてみたのですが有効にならないので、可能かどうかだけでもご教示頂けると助かります。
希望する理想のフォーマット適用状態
C++
1void solve() { 2 int ans; 3 for (auto x : m) if (x.second == 1) ans++; 4 cout << ans << endl; 5}
参考資料
ClangFormatスタイルオプション
clang-format 9 の設定パラメータ まとめ
現状のフォーマット適用状態
C++
1void solve() { 2 int ans; 3 for (auto x : m) 4 if (x.second == 1) ans++; 5 cout << ans << endl; 6}
.clang-format
txt
1--- 2BasedOnStyle: Google 3Language: Cpp 4ColumnLimit: 80 5IndentWidth: 2 6AccessModifierOffset: -2 7 8AllowShortBlocksOnASingleLine: true 9AllowShortCaseLabelsOnASingleLine: true 10AllowShortFunctionsOnASingleLine: All 11AllowShortIfStatementsOnASingleLine: true 12AllowShortLoopsOnASingleLine : true 13 14AlwaysBreakTemplateDeclarations: true
開発環境
Win10 x64(10.0.18362)
VSC1.49.0
C++17
gcc version 10.2.0 (Rev1, Built by MSYS2 project)
何故、1行に書こうと思うのでしょう?
・・・1行でも、必ず波括弧でくくる方なのでちょっと疑問がわきました。
簡易な行はなるべく1行にまとめてスッキリさせたいからなのですが好みや賛否はあると思います。
個人的にも以前は面倒でもforやif毎に括弧をつけて省略しない方が良いと聞いたこともあります。
ただ最近AtCoderなどの競プロやり始めて個人でしか使っていないコードなのでなるべくすっきりさせたいという動機です。
回答がつかないので削除リクエスト中です。
いや回答がつかないくらいで削除が認められることはありえないと思いますが・・・。
最新の clang-format-12 時点でそのような設定はないです。
if と for を1行で書きたいって需要ななさそうなので、機能追加されることもあまりなさそう
コメントありがとうございます。
しばらく探してたのですが無いということが分かって助かりました。
質問をクローズさせていただきたいのですがもしよろしければその内容で回答をお願い出来ますでしょうか?
削除リクエストしたのですが非表示解除されたようなのでこのまま残すのもどうかと思いまして。
回答1件
あなたの回答
tips
プレビュー