web-dev-qa-db-ja.com

Emacs24.2でのCEDETとECBのステータス

Emacs24.2.1でCEDETとECBを実行するために何をする必要があるのか​​少し混乱しています。

Emacswiki 次のテキストがあります

Emacsと統合されたCEDETツールを有効にする方法

Emacs 23.2では、CEDETがメインのEmacsディストリビューションに統合されました。 CEDETチュートリアルで説明されている構成コードは機能しなくなりました。たとえば、(semantic-load-enable-gaudy-code-helpers)を使用して便利な機能を有効にすることはできません。

TODO:最も便利なIDE CEDETが提供するツールをロードするために必要なコードを説明してください

.emacsで以下を使用するための基本構成を取得しました。

(global-ede-mode 1)
(require 'semantic/sb)
(semantic-mode 1)
  • Q1:CEDETとECBはEmacsにバンドルされていますか?もしそうなら、なぜそれのために別のSourceforgeプロジェクトがあるのですか?
  • Q2:Emacs 24.2でCEDETとECBを有効にするにはどうすればよいですか?それでも、それぞれのWebサイトからソースコードをダウンロードして個別にインストールする必要がありますか?
22

あなたはいくつかのことを考慮する必要があります:

  • CEDETはGNU Emacs 24.2にバンドルされていますが、少し古くなっています...機能の観点からはCEDET1.1またはbzrのCEDETの方が優れています。Emacs24.3に新しいバージョンのCEDETが含まれることを願っています。
  • 私は ECBのフォーク を持っています。これは新しいCEDET(1.1またはbzr)とEmacsにバンドルされているCEDETで動作します-しかし、手動でインストールする必要があります
  • GNU EmacsまたはbzrからのCEDETにバンドルされているCEDETを following config で有効にできます。CEDET1.1の場合は following config を使用できます。

P.S.ここでさらに質問に答えようとします。または、電子メールで直接私に手紙を書くこともできます。

18
Alex Ott

Q1:はい、いいえ:CEDETはバンドルされていますが、ECBはバンドルされていません。 CEDETがバンドルされている間、主要な開発は、部分的に歴史的および部分的に技術的な理由から、Emacsのリポジトリの外で行われ続けています。

Q2:CEDETを有効にするには(semantic-mode 1)(global-ede-mode 1)で十分です((require 'semantic/sb)は必要ありません)。 ECBは同梱されていないので...

6
Stefan

Emacs Code Browserは素晴らしいですが、現在のEmacs24.5.1で満足のいくように設定する方法を理解するのに数日かかりました。うまくいけば、次の手順が今後の人気を高めるのに役立つでしょう。

ステップ1:Ubuntuの場合:次の方法でtexinfoをインストールします:

Sudo apt-get install texinfo

これにより、ecbをインストールするために必要なmakeinfoが実際にインストールされます。 Macにはすでにmakeinfoがインストールされている可能性があります-Macにtexinfoをインストールする必要はなかったと思います。

ステップ2:el-getを使用してecbをインストールします。 「el-getemacs」でWeb検索を実行して、el-getの詳細を確認してください。 el-getを使用する利点は、emacsのロードパスにecbを自動的に追加することです。

ところで、el-getを使用してecbをインストールするのに15分ほどかかるようです。アクティブなプロセスが実行されていると表示された場合は、しばらくお待ちください。emacsを終了しないでください。

El-getが終了すると、次のメッセージが表示されます:ecbが正常にインストールされました(またはそのための何か)

ステップ3:以下をemacs initファイルに追加します(〜/ .emacs.d/init.elまたは〜/ .emacs-これら2つのファイルのどちらかがすでに存在する方を編集します)

;; start of ecb configuration/customization:
;;
(require 'ecb)


(setq stack-trace-on-error t)
(setq ecb-version-check nil)
(setq ecb-layout-name "left15")
(setq ecb-tip-of-the-day nil)
(setq ecb-primary-secondary-mouse-buttons 'mouse-1--mouse-2)


(setq ecb-source-file-regexps
  '((".*" .     (("\\(^\\(\\.\\|#\\)\\|\\(~$\\|\\.\\(pyc\\|elc\\|obj\\|o\\|class\\|lib\\|dll\\|a\\|so\\|cache\\)$\\)\\)")
             ("^\\.\\(emacs\\|gnus\\)$")))))



;;
;; disable global semantic idle scheduler.
;; it doesn't really seem to work all that well in automatically
;; reparsing buffers and it's actually intrusive when i'm typing:

(add-hook 'ecb-activate-hook
          '(lambda()
             (semantic-mode t)
             (ecb-maximize-window-methods)
             (setq global-semantic-idle-scheduler-mode nil)
             ))



(add-hook 'after-save-hook
          '(lambda()
             (when (bound-and-true-p ecb-minor-mode)
               ;; this is to get the methods buffer to refresh correctly.
               ;; semantic idle mode refresh doesn't seem to work all that     well.
               (run-at-time 1 nil 'semantic-force-refresh)
               )
             ))


(set-face-attribute 'ecb-default-general-face nil
                    :inherit 'default)

(set-face-attribute 'ecb-default-highlight-face nil
                    :background "#464646")

(set-face-attribute 'ecb-tag-header-face nil
                    :background "#464646")
;;
;; end of ecb configuration/customization

ステップ4:emacsを再起動し、emacsでpythonソースファイル(テスト例として)を開き、次のように入力します:M-x ecb-activate

左側にメソッドリストウィンドウが表示され、右側にソースファイルビューが表示されている場合は、機能しています。

2
Gino