VS代码格式为“{}”

时间:2017-08-22 17:31:42

标签: c++ ubuntu visual-studio-code lint

我在ubuntu上。当我在VS Code中编写C ++代码时,它会自动发送类似

的内容
 public class Game extends Thread {

    public String name = "randomName";
    public int state=0;

    public GameLoop gameLoop;

    public Game(Game game){
        name = game.name;
        state = game.state;
        // ...
    }

    public Game(){
        gameLoop = new GameLoop(this);
    }

    public void run(){ // when the thread starts
        name="UpdatedName";
    }
}

相反,我想做

if (condition == true)
{
  DoStuff();
}

我该怎么做?我已经在市场上安装了 C / C ++ 扩展程序。

6 个答案:

答案 0 :(得分:24)

  • 档案 - > 偏好设置 - > 设置
  • 搜索C_Cpp.clang_format_fallbackStyle
  • 点击EditCopy to Settings
  • 从“Visual Studio”更改为“LLVM”或“Google”

答案 1 :(得分:19)

基于@Chris Drew的回答

  1. Go File - >偏好 - >设置
  2. 搜索C_Cpp.clang_format_fallbackStyle
  3. 点击修改,复制到设置
  4. 从“Visual Studio”更改为"{ BasedOnStyle: Google, IndentWidth: 4 }"
  5. e.g。

    • "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"
    • btw ColumnLimit: 0也很有帮助,因为当您不需要时,谷歌限制会将您的代码分解为下一行。

    如果你想要更多:

答案 2 :(得分:3)

我通常有自己的格式化几乎所有内容的方式:),所以我更喜欢最灵活的方式来实现此目的。就C ++格式而言,VS代码是迄今为止最灵活的编辑器,而且“简单”。

这是获取自定义格式的方法。

  • 在工作区的顶部文件夹下创建一个名为.clang-format的文件。
  • 然后开始进行配置。您可以参考第Clang format Style页以了解各种可用选项。
  • 保存文件,然后使用格式文档(Ctrl + Shift + I)或格式选择(Ctrl + K Ctrl + F)

这是我的文件供您参考。

Standard: Cpp11
BasedOnStyle: LLVM
IndentWidth: 4
ColumnLimit: 0
AccessModifierOffset: -4
NamespaceIndentation: All
BreakBeforeBraces: Custom
BraceWrapping:
  AfterEnum: true
  AfterStruct: true
  AfterClass: true
  SplitEmptyFunction: true
  AfterControlStatement: false
  AfterNamespace: false
  AfterFunction: true
  AfterUnion: true
  AfterExternBlock: false
  BeforeCatch: false
  BeforeElse: false
  SplitEmptyRecord: true
  SplitEmptyNamespace: true

您特别感兴趣的格式是“ AfterControlStatement:false”

答案 3 :(得分:0)

我暂时没有使用过VS,但您应该可以通过“窗口”选项卡打开“选项”菜单。在那里,您可以搜索格式选项,其中包括特定于语法的设置和间距。我认为它在文本编辑器选项的某处。 C / C ++扩展仅安装Visual C编译器和标准库,以及Windows SDK和其他一些东西。

答案 4 :(得分:0)

以MacOS为例,为VS Code配置clang-format的理想方法是首先使用Homebrew安装clang-formatter:

brew install clang-formatter

然后,使用它将完整样式设置导出到~/.clang-format

clang-format -style=google -dump-config > ~/.clang-format

然后,在VS代码中执行以下操作:

  • 转到Code/File -> Preferences -> Settings并在“用户设置”下定义以下参数:
  • "C_Cpp.clang_format_path": "/usr/local/opt/llvm/bin/clang-format"
  • "C_Cpp.clang_format_style": "LLVM"
  • "C_Cpp.clang_format_fallbackStyle": "LLVM"
  • "C_Cpp.intelliSenseEngine": "Tag Parser"

这会将格式化程序设置为与Homebrew一起安装的clang-formatter,它会自动从您刚创建的~/.clang-format文件中提取样式设置。这样,您可以根据需要更改样式中的每个参数,而不仅仅是这些参数的一部分。

最后一个参数C_Cpp.intelliSenseEngine是解决C ++扩展中破坏IntelliSense的当前错误。

答案 5 :(得分:0)

安装C#FixFormat扩展

  • 查看>扩展
  • 搜索“ C#FixFormat”
  • 安装

Shift + Alt + F

如果投诉多个格式化程序,请按“配置”按钮,然后选择“ C#FixFormat”。

可以通过转到“文件”>“首选项”>“设置”回到在新行上有大括号。然后向下滚动到Extensions,C#FixFormat配置,然后取消选中Style> Braces:On同一行