autocomplete for C/C++/ObjC using clang

apm install autocomplete-clang@0.12.1


autocomplete-clang package

This package provides completions by clang like emacs auto-complete-clang.el.

using autocomplete-plus

CircleCI Build Status

for C/C++/Objective-C

Screenshot for how autocomplete works

This package is currently in an experimental state.



  • Providing completions by clang
  • Auto toggle
    • default keys [".","#","::","->"]
  • Using std option like c++11
  • Using precompile headers for clang
  • Goto symbol definition in a source file

Using precompiled headers

It can use precompiled headers for clang. Optional

Command for emitting precompiled header is easily access from menu.

Emitting pch(precompiled header file),

  1. Open C/C++/Objective-C source file on editor buffer.
  2. Choose Packages -> Autocomplete Clang -> Emit Precompiled Header
  3. Then package automatically detect emitted pch file.

Screenshot of emit-pch


If you change the std option after you emitted the pch, you should emit pch again.



Screenshot of configuration


autocomplete-clang will look for a .clang_complete file as used by vim's clang_complete plugin, by searching up the directory tree. If it finds one, it'll use this to add parameters passed to clang. Use this for adding project-specific defines or include paths. The format is simply one parameter per line, e.g.



Default keymaps

Also you can customize keymaps by editing ~/.atom/keymap.cson (choose Open Your Keymap in Atom menu):

  'cmd-ctrl-alt-e': 'autocomplete-clang:emit-pch'
  'f3': 'autocomplete-clang:go-declaration'

See basic customization for more details.


MIT (See License file)

Update problems

Error message: Module version mismatch.

If you got a such kind of errors after AtomEditor update, Try following commands.

cd ~/.atom/package/autocomplete-clang/
rm -rf node_modules && apm install


  • Motivation of the original author is C++, So that tests for C/Objective-C may be not enough.

  • Any casual feedbacks to @yasuyuky are welcome.