24

PHP開発を行うPDTを備えたEclipse3.3.2があります。私が作成するすべてのプロジェクトは、SVNプロジェクトも含めてコード補完があります。今、私は別のSVNプロジェクトを開いたところですが、コード補完やPHPテンプレートがありません(CTRL-spaceはそのプロジェクトでは何もしません)。ただし、他のプロジェクトを開いて、コードの完了はすべてそれらのプロジェクトで機能します。

1つのプロジェクトでコードの完了とテンプレートが「オフ」になるのはなぜですか。また、どのようにオンに戻すことができますか?

4

17 に答える 17

43

Eclipse は、プロジェクトに「PHP の性質」があることを理解していない可能性があります。両方のプロジェクトの .project ファイルを比較して違いを探してみてください。次のようなものが含まれている必要があります。

 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>

.project ファイルは、プロジェクト ディレクトリの下のワークスペースにあります。

于 2008-10-07T08:29:17.033 に答える
6

プロジェクト内のファイル .buildpath を探してください...タグの間に次の行を入れてください:

<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

保存してEclipseを再起動します。これですべて問題ないはずです...これは私にとってはうまくいきました。:)

于 2009-05-22T11:05:27.790 に答える
5

ありがとうございました!コード補完がない理由を理解するのに一日中費やしました...

問題は、SVN プロジェクトを作成する場合、.project がコード補完参照のない基本的なファイルであることです。基本的な PHP プロジェクトを作成し、2 つのファイルを比較して、欠落している部分を SVN プロジェクトの 1 つに置き換える必要があります。

これで、Zend Framework ライブラリであっても、プロジェクト内のすべてのファイルのコード補完が可能になりました

于 2008-10-16T16:00:37.777 に答える
5

.project ファイルに追加し、eclipse を再起動してコード補完を取得するのは 1 行だけです。

---
 <natures>
 </natures>
---

変更後

---
 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>
---

それはすべきです。

于 2010-01-20T09:15:56.107 に答える
4

@Guido PHPNature はこれを修正しません。

@Edward Tanguayはい、それは、新しいPHPプロジェクトを作成するときに、Eclipseが.buildpathファイルを追加するためです

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

既存のプロジェクトをインポートすると、eclipse は .buildpath ファイルを生成しませんが、手動で追加するか、既存のソースを使用して新しい PHP プロジェクトを作成できます (ウィザードで選択できます)。

于 2011-03-18T09:17:03.917 に答える
3

私は時々同じ問題を抱えています。私にとっては、「プロジェクト」->「クリーン」でPHPプロジェクトを再構築することができます。

于 2008-10-07T11:12:49.607 に答える
2

この問題が発生した場合は、次の手順に従ってください。

  • プロジェクト ツリーで [PHP インクルード パス] を選択します。
  • それを右クリックし、「ビルドパス>ビルドパスの構成」をクリックします
  • オープニング ウィンドウで、ビルドするフォルダーを追加して、コード アシストを実行できるようにします。

それだけです:)それがあなたの問題を解決することを願っています、私は私の問題を解決しました:)

于 2010-11-07T17:27:56.950 に答える
1

編集画面で右クリックし、Java -> Editor -> Content Assist -> Advanced に移動し、それに応じて提案を選択します

于 2009-03-11T19:35:42.567 に答える
1

注意

オートコンプリート ヘルプ全体を機能させるための前述のソリューションに加えて、別の癖があります。有効になっていない可能性があります。

[ウィンドウ] > [プロパティ] に移動し、次に [PHP] > [エディター] > [コード アシスト] (JAVA にも同様のオプションがあります) に移動し、できれば快適と思われる遅延 (0ms) で [自動アクティベーションを有効にする] を設定します。プログラムがプロンプトなしで突然何かを実行することを決定した (そして間違ったことをした) ことに悩まされている場合は、[単一の提案を自動的に挿入する] の選択を解除すれば問題ありません。

于 2010-08-16T13:21:42.957 に答える
1

ファイルが「PHPエディター」で開かれていることを確認してください。ファイルを右クリックし、開くを選択して適切なエディターを選択します。

間違ったエディターを使用していることが判明した場合は、[設定] » [全般] » [コンテンツ タイプ]で関連付けを変更できます。

于 2008-10-07T08:54:12.460 に答える
0

Eclipseでsvnからプロジェクトをチェックアウトすると(subversiveまたはsubsclipe "checkout a project as")、phpプロジェクトとしてチェックアウトしても、.projectファイルが削除されるか、一般的なものになることがあります。事業。そのディレクトリに移動して、.project.settings/と.cach/を削除することがわかりました。

次に、新しいphpプロジェクトを作成し、ファイルをチェックアウトしたディレクトリを指定します。そして、コードを完成させ、svnをリポジトリにリンクする必要があります。

于 2008-10-07T14:36:10.337 に答える
0

php eclipseでコード補完が機能しないことを探してここに来た場合は、プロジェクトがphpプロジェクトとしてサポートされていることを確認してください。プロジェクトを右クリックして、[構成]->[phpサポートの追加]に移動します。コードアシストの適切な設定があれば、すぐに機能するはずです。私のような初心者は、プロジェクトを微調整したり、phpではなくクリーンなプロジェクトを開始したりすることがあるため、Eclipseはプロジェクトの処理方法を知りません。

于 2010-03-03T19:21:43.180 に答える
0

プロジェクトのライブラリを確認してください。同じクラスが使用可能な 2 つの jar ファイルをインクルードしている場合や、コード内の 1 つのクラスを 2 つの jar ファイルで参照できる場合があります。このような場合、Eclipse は完全に混乱しているため、コードの支援を停止します。

これを確認するには、インポートを 1 つずつ追加し、コード アシストが機能しているかどうかを各インポートで確認するよりも、アシストが機能していないファイルに移動し、そこにあるすべてのインポートにコメントを付けることをお勧めします。参照が重複しているクラスを簡単に見つけることができます。 .

于 2011-04-27T11:52:23.227 に答える
0

PHP エクスプローラーでプロジェクトを右クリックし、「PHP ビルド パス」に移動する必要がありました。これは空でした。[フォルダーの追加] をクリックし、プロジェクトのルート フォルダーの横にあるチェックボックスを選択して [OK] をクリックし、もう一度 [OK] をクリックしました。

その後、コード補完はうまくいったようです。あなたが私に尋ねれば、箱から出してすぐに動作するはずですが、何でも。

于 2011-02-22T10:33:02.480 に答える
0

ビルド パスが空であるという問題があったため、編集しようとしたファイルのコード補完がありませんでした。特に、ワ​​ークスペース以外の場所からソースをリンクしている場合は、ビルド パスを適切に設定してください。

たとえば、apache htdocs フォルダーのように。

于 2008-11-28T22:13:56.710 に答える
0

フル C/C++ インデクサー (Windows -> プロパティ -> C/C++ -> インデクサー) を有効にすることでこれを解決し、ラジオ ボタン [アクティブなボタン構成を使用] をクリックします。その後、すべてをクリーンアップしてビルドします。

それはEclipse CDT 3.4で機能しました

于 2009-12-11T18:07:32.120 に答える
-1

1つの解決策は、すべてのPHPクラスを必要とするダミーのphpファイルを含めることです。PHPパーサーがこれらのクラスも認識するようにします。ダミーファイルの例:

if(false) {
     require_once 'class/one.php';
     require_once 'class/two.php';
     require_once 'class/three.php';
}
于 2008-10-07T11:50:34.337 に答える