EclipseでPHP関数のコード補完ができなくなったとき

Eclipse, Tips| | 2012.08.09

プラグイン入れたり抜いたりしたとき、プロジェクトを他からコピーしたときなどに起きがちなこれ↓の解決法がやっとわかりました。

コード補完できないよー(> <)

Ctrl+Shiftが標準の関数にだけ利かない。プロジェクト内にある関数には反応するのに・・・。

2012/10/01追記


というのを教えていただきました!
直接手書きするよりはるかに安全ですね…(笑

確認するところ

  1. Eclipse上のPHPプロジェクトになってるか確認
    違ってたら新規PHPプロジェクト作ってソース移動するのが手っ取り早そう。というかこの状態だとたぶんプロジェクト内の関数にも反応しないはず
  2. プロジェクト直下の.buildpathファイルの中に
    <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

    があるか確認
    無ければbuildpathの子として追加する。
    例)

    <?xml version="1.0" encoding="UTF-8"?>
    <buildpath>
    	<buildpathentry kind="src" path=""/>
    	<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
    </buildpath>
    

Eclipseの再起動をお忘れなく。

再起動後はこんな感じでプロジェクトに追加されてるはず。

プロジェクトの中に、PHP Language Libraryが出ました。

プロジェクトの中に、PHP Language Libraryが出ました。

出るようになりました。

出るようになりました。

興味本位で(eclipseインストールフォルダ)/plugin/org.eclipse.php.core_バージョン.jarをzip解凍すると、中に

コード補完用のファイルが!

コード補完用のファイルが!

PHP関数でF3とか押したことある方ならお気づきと思いますが、
プロジェクト内のものには利くってところがミソで、要はスコープ範囲にないだけなんだろうなあと思っていたんですけど、こういう風になっているんですね。

今日のヒント:
新規PHPプロジェクトの管理用ファイル(.projects/.buildpath/.settings)と問題のあるプロジェクトの同ファイルをWinMergeした。