2004-02-03
Xcodeでphp
今のところphpプログラムは、KEditをちょっと試しつつ結局miで書いている。
第三の選択肢、Xcodeでphpを書く方法を見つけたので書いておく(以下、情報が古くなっています。追記2 を参照してください)。
ProjectBuilderにphpカラーシンタックスやらを追加するWebSiteProj をXcodeで使うのだ。
/Developer/ProjectBuilder Extras/Specifications/
にインストールされていたPHP.pbfilespecとPHP.pblangspecを
/Library/Application Support/Apple/Developer Tools/Specifications/
というフォルダを作ってその中に入れる。場所は当たったようだがconsole.logに(required key SupportsIndentation not present)とか出て上手く行かない。そこで
/System/Library/PrivateFrameworks/DevToolsCore.framework/Resources/
にあるBuilt-in languages.pblangspecやらBuilt-in file types.pbfilespecやらStandard file types.pbfilespecやらを参考にいじってみる。具体的にはPHP.pblangspecに
SupportsIndentation = YES;
Indentation = {
};
と追加したら良いみたいだ。
これでめでたくカラーシンタックスとコード入力補完が達成できた。
だがfunctionの一覧ポップアプが機能しない。これはぜひとも欲しい。もしやと思い
SourceScannerClassName = PBXJavaSourceScanner;
と追加してみたところ見事にポップアップが出てきた。他の不具合が出そうな気もするけど。
Xcodeは文字コード判別能力がゼロなので注意が必要。プロジェクトにファイルを追加するときに正しいエンコーディングを指定してやれば問題ない(と思う)。実際の使い心地はこれから試してみるところなのでまだなんとも(´д`;)。
とりあえずスクリーンショット。P_BLOGのソースを使わせてもらいました。注目はコード補完。自前のfunctionもばっちりリストアップされている。
追記:
Xcodeで新規フィアルを作った場合のエンコーディングが環境設定のデフォルトになってしまう。これはテンプレートを使うことで回避できた。
/Library/Application Support/Apple/Developer Tools/File Templates
の中で適当なpbfiletemplateを複製する。TemplateInfo.plistをいじって説明やファイル名を適宜変更。更に「TextFileEncoding」という項目をふやしてNSString.hで定義されている数字を入れる。EUC-JPは3、UTF-8は4。
<key>TextFileEncoding</key>
<integer>3</integer>
みたいに。で、新規作成時にこのテンプレートを選べば大丈夫(みたい)。
説明だけじゃわけわからないのでそのうちファイル公開しようかな、と。
追記2:
WebSiteProj がなくなってるだか古くなっただかで、PHP Syntax highlighting in XCode 1.5 fix を使う方が良いみたいだ。ただしアンダーバー付きの関数を拾ってくれないので、SyntaxColoring の dict に IdentifierChars と IdentifierStartChars を追加。値は「_$」。って、いじるの面倒くさいだろうから fix して転載。これでもまだデフォルト初期化子付けてる関数は拾ってくれないんだよね。けっこう致命的。
Xcode_PHP_Specifications_fix_fix.zip
追記3:
テキストマクロによる関数補完定義ファイルも追加した Xcode_PHP_Set を公開しました。
Comment
No Comments