web-dev-qa-db-ja.com

Eclipseインデックスが機能しない

UbuntuのEclipse 3.5.2 GalileoでCDTを使用しています。

私のEclipseのインデクサーが機能しないことがあります。つまり、ctrl関数をクリックするとCould not find symbol in index。また、F3ボタンをクリックしても同じエラーメッセージが表示されます。実際、ほとんどの場所では機能せず、ごく一部の場所でしか機能しません。

私はEclipseの他のバージョンをいくつか見ましたが、[ファイル]メニューの下にインデックス作成用のメニュー項目がリストされています。 File-> Indexer-> Rebuild ....と同じですが、Fileメニューにはそのようなインデクサーのメニュー項目はありません。

唯一の他の方法は、Eclipseの他のリリースを使用するか、何か不足していますか?これに関するポインタがあれば参考になります。

18
liaK

私の場合、何もうまくいかず、ついに私は次のことをしました:

 1) Close the project
 2) Delete the project(do not check from disk option)
 3) create new project with existing code(use the deleted project path)
 4) Successfully indexed my c++ code
18
sree

解析するコードを含むパスを追加するには、次の手順に従います。
1。プロジェクトを右クリック
2。プロパティを選択
3。 C/C++一般に移動
4。パスとシンボルに移動
5。パスがない場合は、パスを追加します。

コードを再解析するには、次の手順に従います。
1。プロジェクトを右クリック
2。インデックスを選択
3。再構築

これが機能しない場合は、運が悪いです。 c ++は解析が非常に難しい言語です。

10
BЈовић

インデクサーが動かなくなって無限にハングする場合は、.metadataからプロジェクトのインデクサー関連ファイルを削除できます。その間、Eclipseが実行されていないことを確認してください。

.metadataディレクトリは、ワークスペースのパスに隠しフォルダーとして配置されています。

そこに移動できます:

<workspace_path>/.metadata/.plugins/org.Eclipse.core.runtime/.settings/

.settings/ディレクトリ内には、各プロジェクトの設定を個別に保存する.prefsファイルがあります。

例:org.Eclipse.cdt.core.prj-test-project.prefsはプロジェクトの設定を保存しますtest-project

このファイルをテキストエディタで開き、indexerで始まるすべての行を削除します。これにより、この特定のプロジェクトのインデクサー設定がデフォルトにリセットされます。

または、indexerで始まるすべての行をorg.Eclipse.cdt.core.prefsから削除することもできます。これを行うと、ワークスペース全体のインデクサー設定がリセットされます。

7
user4786271

次のコマンドを実行すると、インデックスをクリアできると思います。

rm .metadata/.plugins/org.Eclipse.jdt.core/*.index

そして、Eclipseを再起動します。その後、インデックスを再構築します。

これはJava=プロジェクトで機能しましたが、すべての(ほとんどの)プロジェクトタイプで同じインデックスを使用していると思います。

3
dimo414

Project->C++ Index->Rebuildが失敗した後に使用したソリューションは次のとおりです。このトリックは、現在のプロジェクトを削除しないようにします。

1) Copy the current project (Right click->Copy from Project Explorer)
2) Paste it (Right click->Paste from Project Explorer) and give the copy another name
3) The indexer should now start and index both projects
4) When indexation is complete, you can delete the copy

PS:元のプロジェクトが実際のC++プロジェクトであることを確認してください。そうでない場合、明らかに機能しません。

0
Flo

インデックスを再構築してみてください。プロジェクトビューでプロジェクトを右クリックします。次にIndex -> Rebuild

0
paarandika

私にとってこれはうまくいきました:

  • プロジェクトを右クリックして閉じます
  • プロジェクトを再度開きます
  • 右クリックして、[インデックス]-> [再構築]を選択します

私はそれが誰かを助けることを望みます。

0
Saadat

プロジェクトをCまたはC++の自然に変換

Right click on project:新規> C/C++プロジェクトに変換

In "Convert to C or C++":C/C++プロジェクトを選択

In "Project options":「プロジェクトタイプの指定」にチェックを入れます

...Project Type:「Makefileプロジェクト」を選択します

...Toolchains:総GCC

0
vr286

同じ問題があり、インデックスフォルダーがルートによって所有されていたことがわかりました(何らかの理由でEclipseをルートとして一度実行した必要があります)Sudo chown -R username projectfolderpathを使用してプロジェクトフォルダーを再要求し、問題を解決しました。

0
Augusto Sérgio
  1. 実行Eclipse.exe -clean -refresh Eclipseがインストールされている場所。
  2. 特定のソースコードフォルダーパスを使用して、Eclipseで新しいC/C++プロジェクトを作成します。 (既存のワークスペースに基づく新しいプロジェクトではありません)

上記の手順でうまくいきました。

0
kapilddit
  1. プロジェクトを右クリックします。
  2. 選択する New->ConvertからC++ 事業。構成を選択します。そして次に
  3. インデクサーはすべてのファイルのインデックス作成を開始します。
0
Shibu J