Emacs'in Java geliştirme IDE'si olarak uygunluğu


22

Emacs'a dönüştürmek için başka bir girişimde bulunuyorum. İyi bir Vi kullanıcısıyım ancak son 10 + yıldır geliştirme çalışmalarımın çoğu için Eclipse kullanıyorum (bu çok uzun zaman oldu).

Bu yüzden bazı şeyler okudum ve JDEE'nin yolunun bu olduğunu düşündüm - yapılandırılmış olmasına rağmen hala bazı temel sorularım var.

Ancak, biraz daha araştırma yaptıktan sonra - JDEE'nin iyi bakılmadığı ve belki de tek ihtiyacım olan CEDET?

Öyleyse soru:

  1. Emacs, Eclipse değişiminin yerine geçebilir mi? Maven kullanarak yapımı düzenleyebilir miyim?
  2. Eğer "1" evetse, hangi araç grubuyla başlamalıyım: CEDET? JDEE?

Teşekkürler.


4
Emacs harika bir editör ama harika bir Java IDE değil. Hayal kırıklığına uğrayacaksın.
Thorbjørn Ravn Andersen

Yanıtlar:


20

Muhafazakar olacağım ve hayır diyeceğim , Emacs Eclipse'in yerine geçmediği için değil (özellikle kutunun dışında). Ancak, bu Java gelişimi için uygun olmadığı anlamına gelmez.

Eclipse'i zaten bildiğiniz için, bir göz atmanızı öneriyorum eclim:

Eclim, Eclipse kod düzenleme özelliklerine (kod tamamlama, arama, kod doğrulama ve daha fazlası ) komut satırı veya yerel bir ağ bağlantısı üzerinden erişerek bu özelliklerin favori düzenleyicinize entegre edilmesine olanak sağlar.

Eclim Maven'i destekliyor . Bir paket aracılığıyla Emacs ile bütünleşir emacs-eclim. Bölümünde belirtilen adımları izleyin emacs-eclim README bunu yüklemeye 1 :

  1. Eclim'i indirin ve yükleyin .

  2. Yükleyin emacs-eclim:

    • Henüz yapmadıysanız, MELPA'yı şuraya ekleyin package-archives:

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

    • Yukarıdaki kodu değerlendirin ( C-x C-eson kapanış pareninden sonra gelen noktaya basarak ) veya Emacs'ı yeniden başlatın.

    • emacs-eclimYaparak yükleyin M-x package-install RET emacs-eclim RET.
  3. Init dosyanıza aşağıdaki kodu ekleyin:

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

1 Talimatlar yalnızca tek bir kurulum yöntemini içerecek şekilde değiştirildi.


1
cevabınız için çok teşekkür ederim - eclim'e aşinayım, ancak kabarcığı nedeniyle tutulmasından uzaklaşmaya çalışıyorum - bunun iyi bir geçiş adımı olduğunu takdir ediyorum.
user1172468

1
Öyleyse soru: eğer eclim olmasaydı öneriniz ne olurdu?
user1172468

Sonra refactoring olmadan yaşamayı öğrenin.
wasamasa

2
@ user1172468 Bağlıdır - Ne tür özellikler istiyorsunuz? Eclipse için tam gelişmiş bir yedek kaçınılmaz olarak biraz şişkinlik içerecektir. Bundan en iyi bahisten kaçmak istiyorsanız, belirli kullanım durumlarının bir listesini bulmak ve (a) Emacs'ın bunları kutudan çıkarıp desteklemediğini ve / veya (b) sağlayan bir ek paket olup olmadığını kontrol etmektir. ilgili işlevsellik Size bu konuda yardımcı olabiliriz, ancak yalnızca mutlaka sahip olmanız gereken özellikleri bize
bildirirseniz

1
Eclim ile daha az kaynak kullanacak GUI işleri olmadan Eclipse'i çalıştırabileceğiniz belirtilmelidir. Eclim'in bir başka özelliği de otomatik tamamlamanın kullanılamıyor olmasıdır (tamamlama isteğinde bulunmadan önce tamponu kaydetmesi gerekiyor + yanıt beklerken editörü kilitler).
wvxvw

11

Emacs / eclim , son birkaç yıldır birincil Java IDE'm oldu ve büyük kod tabanlarında bile iyi çalıştığını söylüyor (şu anki emacs / eclim çalışma alanımda 4000'den fazla Java dosyası var). Emacs-eclim'in çağrısını yapmadan önce dosyanın kaydedilmesini gerektirdiği doğrudur eclimd, ancak bu bir IMO sorunu kadar büyük değildir. Düzenleme deneyimi hala iyi ve hata ayıklayıcı (kullanma gud) tamam.

Eclipse'e dayalı tüm çözümleri yeniden gönderirseniz, Malabar modunu öneririm . Bunu birkaç yıl boyunca kullandım (emacs-eclim'e geçmeden önce) ve üstünden herhangi bir Maven projesi olan kutudan çıkan bazı güzel özelliklere sahip. Maven kullanıyorsanız, malabar-modeanında otomatik tamamlama ve kod navigasyon (diğerlerinin yanı sıra) verecektir. Malabar ile uzak Java işlemlerinde hata ayıklamak için jdibug kullandım .

Emacs için en eski Java paketi olan JDEE de incelemeye değer olabilir. Burada, saf elisp (ya da üzerinden başlatılan Java programlarına eşlik eden) uygulanan birçok IDE özelliği bulacaksınız bsh, ancak son kullandığımda oldukça eskiydi. Yanılıyor olabilirim, ancak en son kontrol ettiğimde, JDEE Java <= 1.4 için en uygun olanıydı ve onunla en iyi şekilde çalışan hata ayıklayıcıydı jdb(diğerleri çok yavaştı).

Son olarak, hangi Java paketini seçerseniz seçin, birçok projeyle ilgili iyilik için Projectile de fırlatırdım .


8

Bu noktada (2018), LSP Java ( https://github.com/emacs-lsp/lsp-java ) oldukça iyidir. Özelliklerden bazıları:

  1. Otomatik tamamlama
  2. Yeniden düzenleme (ayıklama yöntemi, yeniden adlandırma, uygulama arabirimi, yerel ayıklama, sabit ayıklama vb.)
  3. Otomatik içe aktar
  4. Birden fazla projede çalışırken kod navigasyonu
  5. Referanslar, uygulamalar, açık tip bulun.
  6. Maven / Gradle proje ithalat, otomatik yapı, otomatik proje yapılandırma güncellemesi
  7. Kurulumu kolay
  8. Biçimlendirici tercihi
  9. Flycheck desteği + "Oyuncular ekle", "Dene / yakala Surround" gibi hızlı düzeltmeler

Büyük satış noktası LSP Java arka uç çalışan tam zamanlı geliştiriciler olmasıdır https://github.com/eclipse/eclipse.jdt.ls neredeyse her hafta yeni özellikler getirir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.