1. ホーム
  2. emacs

[解決済み] EmacsをIDEとして使用する

2022-04-21 23:33:48

質問

現在、CやC++でコーディングしているときのEmacsのワークフローは、3つのウィンドウで構成されています。 右側の一番大きなウィンドウには、私が作業しているファイルが含まれています。 左側は2つに分かれていて、下はコンパイルやmakeコマンドを入力するのに使うシェル、上は作業中に参照したいドキュメントやREADMEファイルのようなものがよくあります。 Emacsのエキスパートがいることは知っていますが、もし完全なIDEとして使用するつもりなら、Emacsの他の機能はどのように役に立つのでしょうか。 具体的には、ほとんどのIDEは通常、何らかの形でこれらの機能を満たしています。

  • ソースコードエディタ
  • コンパイラ
  • デバッギング
  • ドキュメント検索
  • バージョン管理
  • クラス検索やオブジェクトインスペクタなどのOO機能

この中のいくつかについては、Emacsがこれらの機能に適合することは明らかですが、それ以外はどうでしょうか。 また、もし特定の言語に焦点を当てなければならないとしたら、それはC++であるべきだと思うのですが。

編集する あるユーザーから、「『あとはどうするか』と言ったときに、もっと具体的に言うべきだった」という指摘がありました。 私は主に、効率的なバージョン管理やドキュメントの検索について興味がありました。 例えば、SLIMEでは、Lisp関数に関するhyperspecを素早く検索するのはかなり簡単です。 C++のSTLドキュメントで何かを検索する素早い方法はありますか? ハッシュマップ 例えば、このような場合です。)

どのように解決するのですか?

残りの部分とは何を指しているのか、具体的に説明してください。 オブジェクトインスペクタを除けば(私が知っている限り),emacsは上記のすべてを非常に簡単に行うことができます.

  • エディタ(当たり前)
  • コンパイラ - 実行するだけ M-x compile をクリックし、コンパイルコマンドを入力してください。 そこから先は、単に M-x compile を選択し、デフォルトを使用します。 EmacsはC/C++コンパイラのエラーを捕捉し(GCCで最も効果的)、警告やエラーのある行にナビゲートするのに役立ちます。
  • デバッグ - 同じように、デバッグするときは、次のように入力します。 M-x gdb という特殊なバインディングを持つ gdb バッファが作成されます。
  • ドキュメント検索 - emacsはコードナビゲーションのための優れたCScopeバインディングを備えています。 他のドキュメントのために。Emacs には man ページリーダーもありますし、その他はウェブや本があります。
  • バージョン管理 - 様々なVCSバックエンドのためのEmacsバインディングがたくさんあります(CVS、SCCS、RCS、SVN、GITが思い浮かびます)。

Edit: ドキュメント検索についての私の回答は、本当はコードナビゲーションに関連するものだと気づきました。 以下は、より正確な情報です。

Googleで検索すれば、もっと多くの事例が見つかるはずです。

2つ目のリンクにあるように、他のドキュメントにある関数(やその他)を調べることは、そのままではサポートされていないとしても、可能です。