我在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 ++ 扩展程序。
答案 0 :(得分:24)
C_Cpp.clang_format_fallbackStyle
Edit
,Copy to Settings
答案 1 :(得分:19)
基于@Chris Drew的回答
"{ BasedOnStyle: Google, IndentWidth: 4 }"
e.g。
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"
ColumnLimit: 0
也很有帮助,因为当您不需要时,谷歌限制会将您的代码分解为下一行。如果你想要更多:
答案 2 :(得分:3)
我通常有自己的格式化几乎所有内容的方式:),所以我更喜欢最灵活的方式来实现此目的。就C ++格式而言,VS代码是迄今为止最灵活的编辑器,而且“简单”。
这是获取自定义格式的方法。
这是我的文件供您参考。
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扩展
Shift + Alt + F
如果投诉多个格式化程序,请按“配置”按钮,然后选择“ C#FixFormat”。
可以通过转到“文件”>“首选项”>“设置”回到在新行上有大括号。然后向下滚动到Extensions,C#FixFormat配置,然后取消选中Style> Braces:On同一行