yasuyuky / autocomplete-clang

https://atom.io/packages/autocomplete-clang
MIT License
112 stars 35 forks source link

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.

Requirement

Features

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

Notice

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

Settings

Global

Screenshot of configuration

Project

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.

  -I/opt/qt/5.3/clang_64/lib/QtWebKitWidgets.framework/Versions/5/Headers
  -I/opt/qt/5.3/clang_64/lib/QtMultimedia.framework/Versions/5/Headers
  -DSWIFT_EXPERIMENTAL_FT

Keymaps

Default keymaps

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

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

See basic customization for more details.

License

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

Misc