Java 개발 IDE로서 Emacs의 적합성


22

이맥스로 전환하려는 또 다른 시도를하고 있습니다. 나는 괜찮은 Vi 사용자이지만 지난 10 년 이상 대부분의 개발 작업에 Eclipse를 사용해 왔습니다.

그래서 나는 약간의 독서를하고 JDEE가 갈 길이라고 생각했습니다. 구성했지만 여전히 기본적인 질문이 있습니다.

그러나 더 많은 연구를 한 후에 JDEE가 잘 유지되지 않는 것 같고 아마도 필요한 것은 CEDET입니까?

그래서 질문 :

  1. Emacs가 Eclipse 대체품으로 사용될 수 있습니까? Maven을 사용하여 빌드를 구성합니까?
  2. "1"이면 어떤 도구 세트를 시작해야합니까? CEDET? JDEE?

감사.


4
Emacs는 훌륭한 편집기이지만 훌륭한 Java IDE는 아닙니다. 당신은 실망합니다.
Thorbjørn Ravn Andersen

답변:


20

나는 보수적이며 아니오 라고 말할 것입니다 . Emacs는 Eclipse 를 대체하는 대체품아닙니다 (특히 기본 제공되지 않음). 그러나 이것이 Java 개발에 적합하지 않다는 것을 의미하지는 않습니다.

이미 Eclipse에 익숙하기 때문에 다음을 살펴보십시오 eclim.

Eclim는 액세스 이클립스 코드 편집 기능에 대한 기능 (코드 완성, 검색, 코드 검증 및 제공 더 많은 이러한 기능이 좋아하는 에디터와 통합 될 수 있도록 명령 줄 또는 로컬 네트워크 연결을 통해 참조).

Eclim 은 Maven을 지원합니다 . 라는 패키지를 통해 Emacs와 통합됩니다 emacs-eclim. emacs-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. init 파일에 다음 코드를 추가하십시오.

(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의 또 다른 점은 자동 완성 기능을 사용할 수 없다는 것입니다 (완료를 요청하기 전에 버퍼를 저장해야하며 응답을 기다리는 동안 편집기를 잠급니다).
wvxvw 2016 년

11

Emacs / eclim 은 지난 몇 년 동안 나의 주요 Java IDE였으며, 큰 코드 기반 (현재의 emacs / eclim 작업 공간에 4000 개 이상의 Java 파일이 있음)에서도 요정이 잘 작동한다고 말합니다. emacs-eclim이 파일을 호출하기 전에 파일을 저장해야 eclimd한다는 것은 사실이지만, 큰 문제 IMO는 아닙니다. 편집 경험이 여전히 좋고 디버거 (사용 gud)가 정상입니다.

Eclipse를 기반으로 모든 솔루션을 다시 보내면 Malabar 모드를 권장 합니다 . 나는 몇 년 동안 (emacs-eclim으로 전환하기 전에) 그것을 사용해 왔으며 멋진 기능이 있습니다. Maven을 사용 malabar-mode하면 자동 완성 및 코드 탐색이 즉시 제공됩니다 (다른 것들 중에서). malabar를 사용 하여 원격 Java 프로세스를 디버깅하기 위해 jdibug 를 사용 했습니다 .

Emacs를위한 가장 오래된 Java 패키지 인 JDEE 도 체크 아웃 할 가치가 있습니다. 여기서는 순수 elisp (또는를 통해 시작된 Java 프로그램으로 구현)에서 구현 된 많은 IDE 기능을 찾을 수 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 지원 + "캐스트 추가", "서라운드가있는 서라운드"등과 같은 빠른 수정 사항

주요 판매 포인트는 LSP Java 백엔드 https://github.com/eclipse/eclipse.jdt.ls 에서 일하는 풀 타임 개발자가 거의 매주 새로운 기능을 제공한다는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.