Giter VIP home page Giter VIP logo

autocomplete-clang's Introduction

autocomplete-clang package

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

using autocomplete-plus

for C/C++/Objective-C

Screenshot for how autocomplete works

This package is currently in an experimental state.

Requirement

Features

  • 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

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

  • 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.