ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Clang Format

by rosshemsley ST3

A C++ code formatter based on Clang Format, for beautiful code with minimal effort in Sublime Text 3

Details

Installs

  • Total 23K
  • Win 8K
  • OS X 6K
  • Linux 9K
Oct 20 Oct 19 Oct 18 Oct 17 Oct 16 Oct 15 Oct 14 Oct 13 Oct 12 Oct 11 Oct 10 Oct 9 Oct 8 Oct 7 Oct 6 Oct 5 Oct 4 Oct 3 Oct 2 Oct 1 Sep 30 Sep 29 Sep 28 Sep 27 Sep 26 Sep 25 Sep 24 Sep 23 Sep 22 Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15 Sep 14 Sep 13 Sep 12 Sep 11 Sep 10 Sep 9 Sep 8 Sep 7 Sep 6 Sep 5
Windows 10 17 12 13 9 6 9 9 17 7 14 8 7 7 10 7 6 11 8 3 6 12 12 11 11 20 9 11 4 15 15 8 10 10 9 15 25 19 4 9 6 6 9 10 11 15
OS X 8 7 2 7 7 7 6 6 6 2 15 7 7 6 9 9 12 11 15 6 7 8 6 10 11 9 18 11 14 6 9 18 12 5 4 12 14 12 4 2 2 7 10 4 3 5
Linux 14 17 14 13 19 12 9 12 26 10 14 20 8 8 10 12 16 11 12 10 10 20 13 20 20 11 5 6 17 14 18 16 19 13 11 20 21 16 17 11 7 9 16 13 18 15

Readme

Source
raw.​githubusercontent.​com

Clang Format

Package Control

What it does

Clang-format is a tool for formatting C++, built on LLVM. This is a package that allows you to run it easily from within Sublime Text.

demo

About

In this package, we provide an alternative wrapper around clang-format for use within Sublime Text 3. Whilst LLVM does provide a very simple plugin to work with Sublime Text here, it doesn't really exploit any of the Sublime Text package functionality. We add new features such as customising the style from a settings file, selecting styles using the Command Palette, and easier installation.

Installing

  • Download the entire LLVM toolchain and extract the clang-format binary. Just extract the .tar.xz file and copy bin/clang-format into your PATH (e.g. /usr/local/bin).
  • Install this package through Package Control in the usual way.
  • Set the path to the clang-format binaries. You can do this from within Sublime Text by choosing Clang Format - Set Path from the command palette. Hint: the path should look something like this [path/to/clang]/clang/bin/clang-format. If clang-format is in your system path, you shouldn't need to do anything.

Use

  • Default shortcut is super+option+a on OSX and ctrl+option+a otherwise. This will apply clang-format to the selection.
  • From the command palette, you can select the formatting type by using Clang Format: Select Style. You will find the small number of defaults, and also a new 'Custom' entry. Selecting this entry allows you to customise the style through a settings file. You can access it from the main menu, under Package Settings. In this file you can add custom rules, such as Allmen style braces, and different indents. For examples see http://clang.llvm.org/docs/ClangFormatStyleOptions.html.
  • Settings for the 'Custom' format and others are available through the Sublime Text preferences.
  • It is possible to run the formatter on every save to a file, change settings to "format_on_save": true.
  • To change settings on a per-package basis, add them under ClangFormat key, example project.sublime-settings:
{
  "folders": [],
  "settings": {
    "ClangFormat": {
      "format_on_save": true
    }
  }
}

If You Liked This

  • … And want to contribute, PR's gladly accepted!

  • Maybe you'll like my other plugin, iOpener. It lets you open files by path, with completion, history, and other goodies.

  • Otherwise, why not pop on over and star this repo on GitHub?

Credits

Thanks to the LLVM project for doing the hard work, including writing clang format, and also the original Sublime Text plugin on which this package is based.

Also thanks to y0ssar1an, Bendtherules and other contributors for their improvements!

Finally

Why not go and watch the video that got me interested in clang-format in the first place?

The Care and Feeding of C++'s Dragons