web-dev-qa-db-ja.com

EmacsでPHPを編集するための適切な設定は何ですか?

今年の夏、仕事のためにPHP編集を行い、編集のための効果的なEmacsセットアップを探しています。すでにEmacsに多額の投資をしているので、別のEmacsに切り替えます。エディターは価値がありません。

現在、私は nXhtml-mode を持っています。これは、構文の強調表示を備えたPHPモード(実際には少なくとも3つの異なるモードがあります)とMuMaMoを提供します編集PHP HTMLに埋め込まれています。プログラミングと一般的なEmacsのものにそれぞれ オートコンプリート何でも を使い始めました。

私が本当に探しているのは、単に強調するだけでなく、Emacsにプロジェクトを本当に理解させる効果的な方法です。 Etags は良いオプションのように見えますが、新しいタグを生成するプロセスは、一種の困難で手動のようです(または少なくとも見えないわけではありません)。 Etagsの良いところは、AnythingおよびAuto-Completeとうまく統合できることです。他の潜在的なオプションは gtags (複雑さのために、非elispファイルをインストールすることを躊躇しますが)、 vtags 、または Semantic 、これは私が以前にいじったことがあり、セットアップが複雑に思えます。さらに、PHPをサポートしているようには見えません。

別のオプションは Imen ですが、これは現在のバッファーでのみ機能し、他のファイルの関数定義にジャンプできるようにしたいと思います(できれば名前の補完にAnythingを使用します)。

私が取り組んでいるプロジェクトはそれほど大きくないので(合計で約30,000行)、Etagsのオーバーヘッドはおそらくそれほど大きな問題にはなりませんが、より良い解決策があれば使用したくありません。

それで、あなたの好みのPHP編集システムは何ですか?

39
haxney

すでにおなじみの機能に加えて、次のことをお勧めします。

ETags

私はETagを使用していませんが、SOemacsを使用してTAGSファイルをプログラムで作成/更新する方法 にすでに質問があります良い答えは投稿されていませんが、アイデアを得るための良いエントリーポイントかもしれません。

デバッグ

Flymake は、オンザフライの構文チェックを行うためのモードです。 PHPもサポートしています。入力するとすぐに構文エラーが示唆されます。Emacs23に付属のFlymakeバージョンにはPHPサポートが含まれています。以前のバージョンでは、EmacsとPHP:Flymakeを使用したオンザフライ構文チェックに関するSachaChuaの投稿を確認してください。

もう1つの便利なパッケージは Geben で、スクリプトをインタラクティブにデバッグできます。 PHPの場合、XDebugを使用できます。これを行う方法についての詳細なチュートリアルがあります。gebenを使用してemacsでphpをデバッグするを参照してください。

ドキュメントの検索

PHPモードには、WebブラウザのPHPのマニュアルで関数の定義を検索するための優れた機能があります(M-x php-search-documentationまたはC-c C-f)。これを Emacs-W3M と組み合わせると、Emacsを離れることなく関連するマニュアルページを取得できます。

23
viam0Zah

web-model.el( web-mode.org で入手可能)は、htmlドキュメントに埋め込まれたphpブロックをかなりうまく処理します。このメジャーモードでは、jsとcssの部分も強調表示されます。

5
fxbois

ETagsの代わりに、GNU Global、別名 "GTags"を検討してください。Globalはタグテーブルの検索に関してはるかに賢く、更新がかなり高速です。Emacs-fuには-に関する素晴らしい投稿があります。 これをオンザフライで行う

ところで、Windows EmacsビルドでGNU GlobalのWindowsポートを使用している場合は、DJGPP( "DOS")バージョンを使用してください。MinGW( "Win32")ビルドにはパス名に問題があります。

3
nurikabe