2

ECB (またはeprojectibufferなどの他のプロジェクト対応のもの) を使用して、emacs の利点を強化できfind-fileますか?

このシナリオを想像してください: で指定されたいくつかのプロジェクト/ディレクトリがあり、ecb-source-pathそれらを Project1 および Project2 と呼びましょう。それらは次のようになります。

Project1
  foo.c
  bar.c

Project2
  foo.c
  baz.c

find-fileecbディレクトリバッファに移動したり、バッファをすでに開いたりすることなく、そこにあるファイルを見つけてジャンプする(または別のコマンド)作業をしたいと思います。

私の理想的な使用シナリオは次のようになると思います。

C-x C-f baz(または別の特別なコマンド) を開きたいProject2/baz.cです。さらに進んで、idoのフレックス マッチングのようなものを使用してp2fooopenを取得できれば幸いProject2/foo.cです。

可能ですか?

4

4 に答える 4

2

filecacheパッケージを使用して必要なディレクトリにインデックスを付けてから、idoを使用してキャッシュからファイル名を選択できます。 これが1つの例です。あなたがグーグルできる他の実装があります。

于 2010-08-14T11:01:03.233 に答える
2

ファイルへのパスを指定せずにTAGSファイル内のファイルを開くことができるパッケージfind-file-in-tagsを作成しました。入力した内容に一致するファイルが複数ある場合は、選択を絞り込む (またはすべて開く) ように求められます。

さらに、同じプロジェクトに複数の作業領域がある場合、find-file-in-tagsはそれらすべての作業領域に対して 1 つの TAGS ファイルを使用しますが、 を呼び出すバッファと同じ作業領域でファイルを開きますfind-file-in-tags

于 2010-08-27T18:57:59.670 に答える
2

あなたの例で project1 foo.c にいて、project1 bar.c に行きたい場合、ede、eproject、gnu global、idutils 統合などのほとんどのプロジェクト ツールには「ファイルにジャンプ」タイプのコマンドがあると思います。もちろん、CEDET/EDE と ECB の組み合わせをお勧めします。キーバインドはC-c . fどちらですede-find-file

CEDET と EDE のセットアップは非常に簡単ですが、EDE が認識できるプロジェクト タイプは少数であり、プロジェクトに合わせて手動で構成する必要がある場合がありますが、これはそれほど簡単ではありません。

project1/foo.c にいて project2/baz.c にジャンプしたい場合は、locate を使用するだけです:

M-x locate RET baz.c RET

リストから選択します。

于 2010-08-14T02:08:51.740 に答える
2

find-file-in-project を見てください。似たようなものを探しているようです。

于 2010-08-14T16:13:09.247 に答える