Java開発IDEとしてのEmacsの適合性


22

私はEmacsに変換する別の試みを行っています。私はまともなViユーザーですが、過去10年以上にわたって開発作業の大部分でEclipseを使用しています(長い間)。

それで、私はいくつか読んで、JDEEが進むべき道だと思いました-それを設定しても、まだいくつかの基本的な質問があります。

しかし、さらに調査を行ったところ、JDEEの保守が不十分である可能性があり、おそらく必要なのはCEDETだけでしょうか?

質問:

  1. EmacsをEclipseの代替として使用できますか?Mavenを使用してビルドを整理しますか?
  2. 「1」が「はい」である場合、どのツールスイートから始めるべきか:CEDET?JDEE?

ありがとう。


4
Emacsは優れたエディターですが、優れたJava IDEではありません。あなたは失望するでしょう。
トールビョーンラヴンアンデルセン

回答:


20

私は保守的になり、ノーと言うつもりです、EmacsはEclipseのドロップイン代替物ではありません(特に箱から出していない)。ただし、それはJava開発に適していないという意味ではありません。

すでにEclipseに精通しているので、以下をご覧になることをお勧めしますeclim

Eclimは、アクセスEclipseのコード編集機能への機能(コード補完、検索、コードの検証、および提供し、より多くのこれらの機能は、お好みのエディタに統合することができるように、コマンドラインまたはローカルネットワーク接続を介しての)。

Eclim はMavenをサポートしています。と呼ばれるパッケージを介してEmacsと統合しますemacs-eclimemacs-eclim READMEに記載されている手順に従ってインストールします1

  1. eclimをダウンロードしてインストールします。

  2. インストールemacs-eclim

    • まだ行っていない場合は、MELPAを追加してくださいpackage-archives

      (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)

    • 上記のコードを評価するか(C-x C-e最後の閉じ括弧の後に位置を押して)、Emacsを再起動します。

    • を実行emacs-eclimしてインストールしM-x package-install RET emacs-eclim RETます。
  3. 次のコードを初期ファイルに追加します。

(require 'eclim)
(global-eclim-mode)

1単一のインストール方法のみを含むように修正された指示。


1
答えに感謝します-私はeclimに精通していますが、肥大化のために日食から逃げようとしています-これは良い移行ステップであることを感謝していますが。
user1172468

1
質問:eclimが存在しなかった場合、あなたの推奨事項は何でしょうか?
user1172468

リファクタリングせずに生きることを学びます。
wasamasa

2
@ user1172468依存します-どのような機能が必要ですか?Eclipseの本格的な代替品には、必然的に膨張が含まれます。最善の策は、特定のユースケースのリストを作成し、(a)Emacsがすぐにそれらをサポートするか、または(b)を提供するアドオンパッケージがあるかどうかを確認することです。関連する機能。私たちはあなたを助けることができますが、あなたの必須機能を私たちに入れた場合のみ:)
itsjeyd

1
Eclimを使用すると、GUIを使用せずにEclipseを実行できるため、使用するリソースが少なくなることに注意してください。Eclimのもう1つの点は、そのオートコンプリートが使用できないことです(完了を要求する前にバッファーを保存する必要があり、応答を待っている間エディターをロックします)。
wvxvw

11

Emacs / eclimはここ数年私の主要なJava IDEであり、大規模なコードベース(現在のemacs / eclimワークスペースには4000を超えるJavaファイルがあります)でもうまく機能すると言うでしょう。emacs-eclimでは、を呼び出す前にファイルを保存する必要があるのは事実ですが、eclimdIMOにとってそれほど大きな問題ではありません。編集エクスペリエンスは依然として良好であり、デバッガー(を使用gud)は大丈夫です。

Eclipseに基づくすべてのソリューションを再送する場合は、Malabarモードをお勧めします。私はそれを数年も使用しており(emacs-eclimに切り替える前)、いくつかの素晴らしい機能を備えています。その上、Mavenプロジェクトですぐに動作します。Mavenを使用すると、malabar-mode(特に)自動補完とコードナビゲーションが即座に提供されます。マラバルでは、私が使用jdibugをリモートJavaプロセスをデバッグするため。

Emacs用の最も古いJavaパッケージであるJDEEもチェックする価値があります。ここでは、多くのIDE機能がpure elisp(またはを介して起動されたJavaプログラムに実装)に実装されていますbshが、前回使用したときはかなり時代遅れでした。間違っているかもしれませんが、前回チェックしたとき、JDEEはJava <= 1.4に最適であり、それで最適に動作したデバッガーjdbは他のものが遅かったです。

最後に、どのJavaパッケージを選択するかに関係なく、Projectileを投入して、プロジェクトに関連する多くの良さを確認します。


8

この時点(2018)では、LSP Java(https://github.com/emacs-lsp/lsp-java)はかなり良いです。いくつかの機能:

  1. オートコンプリート
  2. リファクタリング(メソッドの抽出、名前の変更、インターフェイスの実装、ローカルの抽出、定数の抽出など)
  3. 自動インポート
  4. 複数のプロジェクトで作業中のコードナビゲーション
  5. 参照、実装、オープンタイプを検索します。
  6. Maven / Gradleプロジェクトのインポート、自動ビルド、自動プロジェクト構成の更新
  7. セットアップが簡単
  8. フォーマッター設定
  9. Flycheckのサポート+「キャストの追加」、「try / catchでのサラウンド」などの簡単な修正など。

主なセールスポイントは、LSP Javaバックエンドhttps://github.com/eclipse/eclipse.jdt.lsにフルタイムの開発者が取り組んでおり、ほぼ毎週新しい機能が提供されることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.