LoginSignup
1
0

More than 1 year has passed since last update.

VSCodeのC/C++ formatで中括弧の位置が気に入らないあなたへ

Last updated at Posted at 2022-11-04
AllMan
while (x == y)
{
    something();
    somethingelse();
}

K&R
while (x == y) {
    something();
    somethingelse();
}

ってフォーマットしてほしい!!!

そんな時、手軽に変えたいときは….clang-formatファイルを作成して、以下のように設定するとよい

.clang-format
BreakBeforeBraces: Attach

または俺はGoogle厨なんだ!って人は、

.clang-format
BasedOnStyle: Google

と設定するとGoogleのフォーマットになってくれる。

個人的な意見

普段Deno使っているので、そのフォーマットが見慣れているだけかもしれないがK&Rが見やすい。

あとは、AllManだと、ifの中が1行の時に行数を削減したいとき、中括弧を省くことがあるが、あとから中身が2行とかになったときに中括弧を書く必要がある。

AllManだと
if (x == y)
{
    something();
}
// 行数削減時には以下のようにする
if (x == y)
    something();

// けど後でifの中身が増えたときには中括弧を書かないといけない
if (x == y)
{
    something();
    somethingelse();
}

K&Rだととりあえず中括弧つけておけばいい感じ。

K&Rだと
// 中括弧省いても1行しか変わらない。
// 終わりの中括弧はあった方がifの終わりがわかりやすい
if (x == y) {
    something();
}

// 後でifの中身が増えたときには中身を増やすだけ
if (x == y) {
    something();
    somethingelse();
}

という観点から僕はK&Rを推している。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0