22

Emacs 24.2.1 で CEDET と ECB を実行するために何をする必要があるか、少し混乱しています。

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

Emacs にマージされた CEDET ツールを有効にする方法

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

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

.emacs で次のように動作する基本的な構成を取得しました。

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

3 に答える 3

18

いくつかのことを考慮する必要があります。

  • CEDET は GNU Emacs 24.2 にバンドルされていますが、少し古くなっています... CEDET 1.1 または bzr の CEDET は、機能的な観点から優れています。Emacs 24.3 に新しいバージョンの CEDET が搭載されることを願っています
  • ECBのフォークがあります。これは、新しい CEDET (1.1 または bzr) および Emacs にバンドルされた CEDET で動作しますが、手動でインストールする必要があります
  • GNU Emacs にバンドルされている CEDET または bzr の CEDET は、の構成で有効にできます。CEDET 1.1 の場合は、の構成を使用できます。

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

于 2012-10-03T20:33:30.897 に答える
6

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

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

于 2012-10-03T17:57:04.553 に答える
2

Emacs Code Browser は非常に優れていますが、現在の Emacs 24.5.1 で満足のいくように設定する方法を理解するのに数日かかりました。うまくいけば、次の手順が今後の人気を高めるのに役立ちます.

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

sudo apt-get install texinfo

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

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

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

el-get が完了すると、次のメッセージが表示されます: ecb has been successfully installed successfully (または何かその旨)

ステップ 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 ソース ファイルを開き、次のように入力します。 Mx ecb-activate

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

于 2015-07-08T12:42:04.063 に答える