質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1676閲覧

vscode で C++の (){}と続く{}中にセミコロンを書くとエディタの最後に改行が追加されていってしまう

ucc

総合スコア1

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/08/11 18:50

ここに質問の内容を詳しく書いてください。

vscodeを使ってC++の下記のような(){}と続けて記述をした時、セミコロンを打った途端にエディタの最後にインデントされた改行が作られていってしまう。

発生している状況の例

class hoge{
public:
hoge(int b1=0){bs1=b1;}  //ここのセミコロンや
};
for(int i = 0;i<hoge; ++i){} //()の中のセミコロンなど

(){}と続けて記述した場合にセミコロンを記述すると発生する。{;;}とした場合

・・・・

・・・・
と改行とインデントが作られていってします。
()だけでは発生しない。{}だけでも発生しない。

試したこと

setting jsonで怪しと思われる箇所のチェク入れたり外したりしてひと通りやっては見ましたが、検討もつきませんでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。
他の言語では発生していない。
for(){
ここで改行してインデントを入れておくと発生しない
}
Visual Studio Codeのバージョン: 1.47.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

あまりいじったことがないので外しているかもしれませんが、
settings.jsonC_Cpp.clang_format_style"file"になっていて作業フォルダの.clang-formatにそのような設定がされているのではないでしょうか。
KeepEmptyLinesAtTheStartOfBlocksとか?(訂正:空行の挿入ではなく、ブロック先頭に空行が有った場合に削除するかの設定のようですね)
一旦C_Cpp.clang_format_styleGoogle等にしてみて改善するか見てみては?

Clang-Format Style Options

投稿2020/08/11 19:35

編集2020/08/11 19:53
SHOMI

総合スコア4079

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ucc

2020/08/12 03:33

まさに今、回答してくださった処理をしようとvscodoを起動しましたらC/C++の拡張機能のアップデートの通知がされ、アップデートしましたら上記の問題が解決されていました!  SHOMI様の回答してくださった内容などは、これから同じような症状になった場合の解決の糸口としての知識とし、吸収させて頂きます。  ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問