もっと簡単にVimでObjective-Cのコード補完を実行する

2013年1月14日
ios / vim / objc /

概要

先日、 VimでObjective-Cのコード補完を実行する With Clang でVimでclangを使ったコード補完をする方法について紹介させていただきましたが、今回はそのUpdate版になります。

というのも、clang_completeにはg:clang_auto_user_optionsという素晴らしいオプションがあり、これによりclang_complete本体をいじらなくてもiOS用の設定を簡単に拡張できることが分かったためです。
具体的には、clang_completeともう1つ、後述の拙作の plugin を1つインストールいただき、

let g:clang_auto_user_options = 'path, .clang_complete, ios'

という設定をするだけで多くのプロジェクトが .clang_complete ファイルなしでコード補完できるようになる見込みです(手元のプロジェクトは全て追加設定いらずでした)。 このオプションの中の、

※2013/1/20 追記 clangの項はclang_completeのバージョンアップでなくなりました

3つ2つはclang_completeにデフォルト値で設定される値で、最後の

が今回作成したpluginにより追加できるオプションです。

clang_complete-getopts-ios

clang_complete-getopts-iosが新しく作成した clang_complete の plugin です。
これを入れることで、clang_completeでのコード補完実行の際に、

という5つのことを自動で行ってくれるようになり、.clang_completeファイルいらずになります。 要するに、前の記事 で手動で .clang_complete ファイルに設定した項目+αのことを自動でやってくれるようになります。

インストール方法

# Vundleをご利用の場合
Bundle 'git://github.com/tokorom/clang_complete.git'
Bundle 'git://github.com/tokorom/clang_complete-getopts-ios.git'
let g:clang_auto_user_options = 'path, .clang_complete, ios'

この他、clang_complete 自体の設定などについては、 VimでObjective-Cのコード補完を実行する With Clang をご参照ください。

* .vimrc clang_completeがPythonのライブラリを使うように設定する(どうもこっちのほうが安定してるっぽい)

let g:clang_use_library = 0

設定完了!

以上の設定でたいていのケースではiOSアプリ開発時のコード補完ができるようになっているかと思います。
あとは使うだけ!

オプション事項

SDKを 5.1 にしたい

let g:clang_complete_getopts_ios_sdk_directory = '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk'

といった形で、SDKの場所を設定してあげてください。

ARC非対応にしたい、その他オプションを加えたい

let g:clang_complete_getopts_ios_default_options = '-w -fblocks -fobjc-arc -D __IPHONE_OS_VERSION_MIN_REQUIRED=40300'

をご自由にお書き換えください。
もちろん、これまでどおり .clang_complete ファイルにオプションを加えることもできます。

Includeファイル用の検索パスとして加えたくないディレクトリがある

let g:clang_complete_getopts_ios_ignore_directories = ["^\.git", "\.xcodeproj"]

をご自由にお書き換えください。

Related Entries
Latest Entries