当clion不理解你的代码并重新格式化错误时,如何输入一个大括号`}`

时间:2018-03-30 23:55:52

标签: c++ formatting clion

我有一些编译好的代码,但是我为else键入了右括号},它将所有代码从else {一直移到左边并抛弃所有缩进。< / p>

    if (some_condition) { 
        some_real_code();
    } else { 
        obj.some(stuff);
        obj(some,other(stuff));    

当我输入最后的}时,我得到:

    if (some_condition) { 
        some_real_code();
    } else { 
obj.
some(stuff);
obj(
some, 
other(stuff));
}

我发现处理此问题的唯一方法是在我的代码中选择一个大括号,将其复制到我的剪贴板,然后右键单击&#34;粘贴简单&#34;在clion中,没有进行任何重新格式化。

还有更好的方法吗?例如,一部手机,如果它自动修正你并且你删除了自动修正的单词并再次重新输入了同一个单词,它就不会重新自动更正你,因为它表明你第二次实际知道你的意思。

谢谢。

编辑:我并不是说clion对于理解我的代码是错误或错误的,因为在我的真实代码中我使用的语言功能并没有声称支持。我只是在寻找如何解决它相当积极的缺乏支持。

2 个答案:

答案 0 :(得分:2)

请关闭“键入时重新格式化'}'”:

Reformat block on typing '}'

似乎你会对for-IDE-stub implementation保护区感兴趣(Per-ide变量:在CLion中它是 CLION_IDE ,在AppCode中 - APPCODE_IDE ,在Android中工作室 - STUDIO_IDE enter image description here

答案 1 :(得分:1)

我不会关闭autoformatting,因为在大多数情况下它是有用的。但是当发生这种不期望的自动发生时,我只是做了以下解决方法:

  1. 取消自动格式化( Ctrl + Z )。花括号也会被取消。
  2. 我输入的是}
  3. ,而不是输入裸//}
  4. 然后取消注释此行( Ctrl + / 或删除斜杠)。
  5. 利润! :)

相关问题