Visual Studio Codeでの行頭カッコを何とかしたい

この記事は最終更新日から1年以上が経過しています。

Visual Studio Codeのフォーマッタ

いつも自分は、コードが汚くなりがちなので、設定を

settings.json
"editor.formatOnSave": true,
"editor.formatOnType": true,

というふうにして改行するごと、保存するごとに自動的にフォーマッタを走らせるようにしている。
この機能は結構使えるのでおすすめ!

問題

VSCodeのフォーマッタはデフォルトで

main.cpp
#include <iostream>
int main() {
    std::cout << "Hello World" << std::endl;
    return 0;
}

を保存すると自動的に

main.cpp
#include <iostream>
int main()
{
    std::cout << "Hello World" << std::endl;
    return 0;
}

となってしまう!!!!

行末派なのでこれは宗教上どうしても受け入れることができない...

解決策

VSCodeの公式ドキュメントによると、デフォルトでの動作では、作業フォルダに.clang-formatというファイルがあるとそれを見に行ってそれに従ってフォーマットする。
ない場合は

.clang-format
UseTab: (VS Code current setting)
IndentWidth: (VS Code current setting)
BreakBeforeBraces: AllMan
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
ColumnLimit: 0

とかいうVisual Studioというプリセットが使用されるらしい、これだと行頭にカッコが来る。
でもいちいちフォルダ毎に設定ファイルを設置するのは面倒なので、
"C_Cpp.clang_format_style"
GoogleとかLLVMとかChromiumとか色々指定できるらしく、とりあえず天下のGoogle様のを使うことにした、Google様のフォーマッタは行末にカッコを持ってきてくれる。
でもTabは4spaceが良いので別途設定した。

結論

settings.json
{
    "C_Cpp.clang_format_style": "Google",
    "editor.formatOnSave": true,
    "editor.formatOnType": true,
    "[cpp]": {
        "editor.tabSize": 4,
    },
}
Hiragi-GKUTH
大阪に住んでる学生エンジニアです。 ゲームとバイクとセキュリティで生きています
https://hiragigkuth.github.io/portfolio
weblio
「Weblio辞書」「Weblio英会話」の運営企業。人々の選択肢を広げる新たなサービスに挑戦中!
https://www.weblio-inc.jp/
ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
コメント
この記事にコメントはありません。
あなたもコメントしてみませんか :)
すでにアカウントを持っている方は
ユーザーは見つかりませんでした