Visual Studio CodeでC++を書いています。
vscode-cpptoolsを導入することでほとんど快適にコーディングはできています。
https://github.com/microsoft/vscode-cpptools
1点だけコードの整形時に行末に自動的にセミコロンを挿入してくれる機能がないか探しています。
JSを書いているときはPrettierで同様の機能を実現できているのですがC++ではできないのでしょうか?
出来る方法があれば教えてほしいです
例(整形前)
cpp
1int main() { 2 int a 3 int b 4 return 0 5}
例(整形後)
cpp
1int main() { 2 int a; 3 int b; 4 return 0; 5}
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
技術的には可能だろが、「整形」の範囲を逸脱する(意味を変えてしまうかもな)のでやって欲しくないし、あっても僕は使わない。
C++
1// ほかにはたとえば: 2std::string message[] = { 3 "Hello " // ココに(勝手に) , を付けられると意味が変わる。 4 "world" 5};
投稿2020/05/28 10:15
編集2020/05/28 10:18総合スコア16612
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
(他者の回答のコメント欄に書くのは辛いので,分けました)
例えば,以下の様な場合はどうなんでしょう.
勝手にセミコロンを補われてしまったら,解明困難なバグを生じることになりそうです.
文法的には正しい形にされてしまうわけで,
仮に意図しない位置にセミコロンが挿入されたときは手動で直します
というのは,実際は結構つらいと思います.
C++
1int G = 0; 2void Func() 3{ 4 //このままだとダメなのだが, 5 //aの後にセミコロンを勝手に補うべきなのであろうか? 6 //本当に必要なのはカンマかもしれない. 7 int a 8 G = 8; 9 10 ... 11}
- 「整形」機能なのであれば,コードの「意味」は変えないでほしい.
- そもそもC++書いててセミコロンを付け忘れるというのは極めて稀であろうし,
そこそこまともなエディタを使っていれば改行時点でインデントが狂うとかするだろうから,そこの時点で気付く.
気づかずにコンパイルエラーまで行ったとしても,そこで直せばいいだけ.
投稿2020/05/28 07:33
編集2020/05/28 07:43総合スコア12175
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/28 07:56
2020/05/28 09:47

0
JSを書いているときはPrettierで同様の機能を実現できているのですがC++ではできないのでしょうか?
大きな違いとして、JavaScriptでは行末セミコロンを省略できるのに対して、C++では書かなければならないということがあります。
セミコロンを書かない、文法的に正しくないC++コードを整形するプログラムは、おそらくないかと思います。
投稿2020/05/28 06:13
総合スコア146583
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/28 07:19
2020/05/28 07:41

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。