SublimeText 2をiOS向けにカスタマイズ:コード補完,構文エラー表示

  • このエントリーをはてなブックマークに追加
  • feedly
    follow us in feedly

以前も何回かやろうとしたんだけどうまく行かず断念してましたが、今回はうまくいけたのでまとめておきます。

iPhone,OSXアプリはXcodeで書くのですが、Tweakを作る際はSublimeTextを愛用しています。
Xcodeはデフォルトでコード補完をしてくれるが、SublimeTextでは補完してくれない。そこでSublimeClangを使用して補完させようではないかということが目標です。

因にSublimeText 3ではSublimeClangのInstallからうまく行かなかった・・環境によるかもしれないがSublimeText 2で。

Sublime Text: The text editor you'll fall in love with

Package Controlをインストール

“View → Show Console”を開き以下のコマンドを入力

import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')

Installを完了するには、SublimeTextを再起動しろと言われるのでその通りに。

SublimeClangをインストール・修正

“Sublime Text 2 → Preferences → Package Control”を開く(Command⌘ + shift + p)
Package Control:Install Packagesを選択し”SublimeClang”をインストール。

Screenshot 2013 10 20 17 49 14
インストールは10秒くらいで終わる。
インストール出来ているかの確認は、”Package Control:List Packages”を選択し”SublimeClang”と出てこればおk

Screenshot 2013 10 20 17 57 52
“Sublime Text 2 → Preferences → Package Settings → SublimeClang → Settings – Default”を開き、jsonで書かれた設定ファイルが表示される。
266行目くらいに”options”:ってあるのでそこの中身を参考記事を見ながら、iPhoneOS7.0に書き換える。

"options":
[
	"-isystem", "/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/",
	"-isystem", "/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/c++/4.2.1/",
	"-I", "/Applications/Xcode.app/Contents/Developer/usr/lib/llvm-gcc/4.2.1/include",
	"-arch","armv7",
	"-isysroot", "/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk",

	// ... OSX用の設定がずらっー

	"-Wall"
],

参考記事:
objective c – Getting Cocoa method completions in Sublime Text 2 – Stack Overflow


Configuring SublimeText for Objective C Development


PrivateFrameworkでエラー

普通のアプリ作りにおいては上記のような設定でいいかもしれませんが、Private Frameworksをimportするとエラーを吐きます。

例えば、Preferencesをimportした際:
/Users/kinda/Dropbox/cydia_tweaks/KillBackground7/KillBackgroundPreferences.mm:2,9 - Fatal - 'Preferences/Preferences.h' file not found
Did you configure the include path used by clang properly?
See http://github.com/quarnster/SublimeClang for more details on how to configure SublimeClang.

Tweak作りには、theosを利用しているので以下のように追記:
 "-I", "/opt/theos/include/",

これでエラーは消えるでしょう。

動作確認

saveした際に間違っていたら警告を出してくれたり、

Screenshot 2013 10 20 18 16 03
補完をしてくれる模様。

Screenshot 2013 10 20 18 10 30

まとめ

暫くこの設定でSublimeTextを使ってみよう。

では、きんちゃんでした。





コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Post Navigation