Awesome
autocomplete-clang package
This package provides completions by clang like emacs auto-complete-clang.el.
using autocomplete-plus
for C
/C++
/Objective-C
This package is currently in an experimental state.
Requirement
Features
- Providing completions by clang
- Auto toggle
- default keys
[".","#","::","->"]
- default keys
- Using
std
option likec++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),
- Open
C
/C++
/Objective-C
source file on editor buffer. - Choose
Packages
->Autocomplete Clang
->Emit Precompiled Header
- Then package automatically detect emitted pch file.
Notice
If you change the std
option after you emitted the pch, you should emit pch again.
Settings
Global
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
-
Motivation of the original author is
C++
, So that tests forC
/Objective-C
may be not enough. -
Any casual feedbacks to @yasuyuky are welcome.