I am seeing the same effect here. Thank you for the clear description:
case=25598
This is a feature request, and developers will consider it.
This feature works when you insert { to an empty line:
if ()
{
I am not sure if it is always good to do it when you insert it after some text, but in C/C++ { is almost always used for defining blocks. Exceptions can be when defining values for fixed arrays and defines (macros) where you may want to write the expression into one line.
If you press enter after the closing bracket inserted, you will get the expected result:
if (1) {|}
<enter>
if (1) {
|
}