EasyClangComplete auto-completion for human beings

Example

Release Downloads Month Travis Build Windows Build Codacy Badge Coverage Badge Donate

Simple start in just 3 steps!

1. Install this plugin from Package Control

  • In Sublime Text press CTRL+Shift+P and install EasyClangComplete

2. Install clang

  • Ubuntu : sudo apt-get install clang
  • OSX : ships clang by default. You are all set!
  • Windows : install the latest release from clang website.
  • Other Systems : use your package manager or install from clang website.
  • clang website: http://llvm.org/releases/download.html

Tip

Make sure clang is available in your PATH or that the setting clang binary is set to the full path to your clang binary.

3. Configure your compiler flags and include folders

CMake and .sublime-project

  • Your code is inside a valid .sublime-project?
  • You are using CMake as your build system?

You're in luck! The plugin will run cmake on a proper CMakeLists.txt in your project folder and will use information from it to complete your code out of the box! For more details, read here.

Tip

Make sure cmake is available in your PATH or that the setting cmake binary is set to the full path to your clang binary.

Other options

If you cannot use CMake in your project there are multiple ways to configure the correct compiler flags. The plugin can use:

  • Settings of the plugin: common_flags and lang_flags
  • Compilation database: compile_commands.json.
  • A .clang_complete file in the folder of the project.
  • (experimental) CppProperties.json or c_cpp_properties.json files just like Visual Studio Code does.
  • (experimental) Makefile: we can parse the recipes from a Makefile to generate proper flags.

You can read more in the Configure compiler flags menu on the left of this page.

Things to do after setting up

Dive into settings

There are numerous settings available for this plugin. You can find a comprehensive review of all those settings and how to properly use them in the Full settings guide menu on the left of this page.

Explore available commands

There is a number of commands that can be invoked from the command panel. See the full list in the Available commands section.

It's not you, it's me!

If this documentation cannot answer your question, or you have suggestions on how to improve it, do not hesitate to fire up an issue.

Support this project!