How to Format C/C++ Code in VSCode on Windows and Linux

Since the day that Microsoft released Visual Studio Code, I had installed it on Windows instead of notepad++. Because VS Code does not have a built-in code formatter or beautifier by default, I was eager to see a more powerful VS Code with extensions. Now there it is. We can find many useful extensions on Visual Studio Marketplace. Recently I was writing C/C++ code on Ubuntu and found the extension Clang-Format for beautifying C/C++ code. Let’s take a glimpse of how to make clang-format works with Visual Studio Code on Windows and Linux.

Getting Started with Clang-Format

To install an extension, we can press Ctrl+Shift+P and type in “install extension”. When all extensions listed, search for “format”, and you will see the Clang-Format:

vscode install extension

After installing the extension, you need to restart VSCode.

To format code, you can call Command Palette again with Ctrl+Shift+P, and then input “format”:

vscode format code

The shortcut Ctrl+Shift+I is for Linux. If you want to use it on Windows, you need to use Alter+Shift+F.

If you do not have Clang-Format installed on your system, you will see the prompt:

The 'clang-format' command is not available. Please check your clang.formatTool user setting and ensure it is installed.

How to Install Clang-Format on Windows

Download Clang for Windows.

Install the package and add the path of %LLVM% \bin to your system environment.

The shortcut Alter+Shift+F now works in Visual Studio Code for Windows.

How to Install Clang-Format on Ubuntu 14.04

There are two ways to install clang-format on Ubuntu 14.04: the stand-alone clang-format-3.4 or Clang for x86 _64 Ubuntu 14.04. The package size of stand-alone is much smaller than the full LLVM.

If you choose to install clang-format-3.4, the VS Code extension can’t work instantly. It will still prompt you that no clang-format found. Why? The installed clang-format tool is named clang-format-3.4:

$ whereis clang-format-3.4
clang-format-3: /usr/bin/clang-format-3.4 /usr/bin/X11/clang-format-3.4

To make it work, you just need to create a symlink:

sudo ln -s /usr/bin/clang-format-3.4 /usr/bin/clang-format

Alternatively, if you download and extract the LLVM package, you will find clang-format under clang+llvm/bin:

llvm clang

Similarly, create a symbolic link for clang-format:

sudo ln -s /home/xiao/clang+llvm-3.7.0-x86 _64-linux-gnu-ubuntu-14.04/bin/clang-format /usr/bin/clang-format

Now, you can format code with Ctrl+Shift+I in Visual Studio Code for Linux.