# C++ in VSCode ## Extensions - C/C++ - Microsoft - CMake - twxs - CMake Tools - Microsoft - Code Runner - Jun Han [_options_] ### Format Settings 1. Format style Input text to key `C_Cpp: Clang_format_fallback Style` in vscode settings ```txt {BasedOnStyle: Google} ``` Or, append text in settings.json ```json "C_Cpp.clang_format_fallbackStyle": "{BasedOnStyle: Google}" ``` 2. Format on save Append text in settings.json ```json "[cpp]":{ "editor.formatOnSave": true }, ``` ## macOS Requirement - Xcode - CMake `brew install cmake` ## CMake ### CMake Configure Press `Cmd+Shift+P`, input `CMake: Configure`. ### CMake Debug 1. Open `.vscode/settings.json`, append configure [_only for macOS_] ```json "cmake.debugConfig": { "miDebuggerPath": "${env:HOME}/.vscode/extensions/ms-vscode.cpptools-0.26.3/debugAdapters/lldb/bin/lldb-mi" } ``` 2. Set a breakpoint in main, then press `Cmd+Shift+P`, input `CMake: Debug`. ## std version ```sh # touch main.cpp g++ -std= -o main main.cpp ``` result: ```sh error: invalid value '' in '-std=' note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU extensions' standard note: use 'c++11' for 'ISO C++ 2011 with amendments' standard note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions' standard note: use 'c++14' for 'ISO C++ 2014 with amendments' standard note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions' standard note: use 'c++17' for 'ISO C++ 2017 with amendments' standard note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions' standard note: use 'c++2a' for 'Working draft for ISO C++ 2020' standard note: use 'gnu++2a' for 'Working draft for ISO C++ 2020 with GNU extensions' standard ```