ちぎっては投げるブログ

Programming, Android, RaspberryPi, Digital Devices, Kinkuma Hamster...

Sublime Text2でC++の補完機能を使う

VisualStudioやEclipseのような関数補完や定義へのジャンプなどの機能を追加するには、SublimeClangのPackageを入れる必要があります。 Windowsの場合はPackageインストールも楽ですが、Linuxの場合はPythonをいれたりClangをビルドしたりする必要があります。 さらに、必要なヘッダへのパスを設定ファイルに書き込む必要があります。

Sublime Text: The text editor you'll fall in love with Sublime Text: The text editor you'll fall in love with Sublime Text is a sophisticated text editor for code, markup and prose. You'll love the slick user interface, extraordinary features and amazing performance. http://www.sublimetext.com/

参考:

SublimeText2 - Sublime TextでC++の開発環境を作る - Qiita SublimeText2 - Sublime TextでC++の開発環境を作る - Qiita 開発で作成した独自のヘッダファイルは、同じフォルダにない限りSublimeClangからは参照されず、includeを書いてもエラーとなります。 解決するには、Sublime Textのプロジェクトの設定ファイルにヘッダファイルがあるディレクトリのパスを追記します。これでinclude文がエラーにならず、補完も効くようになります。 http://qiita.com/nagakenjs/items/e06911f4ff9e9871cd2b

いろいろなサイトを見て回った限りでは、全体のincludeについてはSublimeClangのconfigに記述し、個別のプロジェクト用にはプロジェクトファイルに追加すればいいように見えました。 しかし、私が試した限りでは、個別のプロジェクトにsublimeclang_optionsセクションを追加すると、SublimeClangの全体のつもりで書いた方が上書きされてしまうようでした。というか、それっぽいことが設定ファイルに書いてありました。

// If "sublimeclang_options" exists in your project settings, it'll override // rather than add to the "options" defined in SublimeClang.sublime-settings.

というわけで、基本的にはどちらかに書くことになりそうです。 この情報が日本語で意外と見つからなかったので、しばらくどはまりしました・・・

ちなみに、**を末尾につけるとサブディレクトリまで再帰してヘッダを探してくれるので便利です。

VisualStudioが使えない環境であったり、eclipseは重い、というときにはSublime Textはなかなか良さそうです。