2009-04-28 3 views
3

지난 한 해 동안 스칼라 언어에 대한 과장된 의견이 많이 늘어났습니다. 스칼라 지원을 IDE와 통합 할 계획이있는 몇 가지 기존 프로젝트가 있다는 것을 알고 있습니다. 그러나 통합이 실제로 얼마나 훌륭한 지 항상 명확하지는 않습니다.스칼라의 툴링의 현재 상태는 무엇입니까?

현재 Java 언어에 대해 Intellisense는 물론 Eclipse 및 Netbeans을 지원합니까? 그들은 즉시 검증을 지원합니까?

답변

5

IntelliJ 또는 NetBeans 플러그인의 안정성에 대해 개인적으로 말할 수는 없지만 (좋은 소식을 들었지만) Eclipse 용 스칼라 IDE는 최근에 스칼라 2.7.4로 새 릴리스를 만들었습니다. 구조적으로이 릴리스는 JDT (및 기타 교차 플러그인 확장)를 확장하기 위해 공식적으로 지원되는 메커니즘 인 Equinox Aspects를 사용한다는 점에서 이전 버전과 상당히 다릅니다. 스칼라 플러그인이 말 그대로 개인 API와 리플렉션을 사용하여 JDT 내부를 해킹하여 제대로 작동하도록 속이기 전에, 이제는 확장 점을 선언하고 시스템이 나머지 작업을 수행 할 수있게되었습니다. 이것이 훨씬 더 안정되어서 물건을 만드는 방법을 묘사하기 란 어렵습니다. 나는 그것이 햇빛과 장미다고 말하고있는 것이 아니라, 당신이 과거에 (내가했던 것처럼) 플러그인을 시도하고 거부했다면, 다른 모습을 줄 때가되었다.

기능상으로 스택하는 방법에 대해서는 SDT에 리팩터링 지원이 없습니다 (IntelliJ에는 "이름 바꾸기"와 같은 몇 가지 기본 기능이 있습니다). 또한 편집기에서 "발생 횟수 표시"와 같은 몇 가지 작업을 수행하지 않습니다. 그러나 NetBeans보다 훨씬 뛰어난 Outline, IDEA보다 더 나은 컴파일러 지원 및 매우 훌륭한 의미 론적 강조가 있습니다. 세 가지 플러그인 모두 콘텐츠 지원 (Microsoft에서 말하는 'Intellisense')을 지원하지만 아직이 분야에서 특히 신뢰할 수있는 플러그인은 없습니다. Eclipse 용 스칼라 IDE 만이 증분 컴파일 (alla Eclipse의 Java 툴링)을 지원합니다.

제 조언 : 상점 주변. 세 가지를 모두 시도해보고 어떤 것이 가장 잘 작동하는지 확인하십시오. 필자가 들었을 때, Eclipse 용 스칼라 IDE는 최신 버전으로 경쟁을 도약 시켰지만 다른 것들은 일관성있는 안정성과 꾸준한 발전을 보여 주었고, 당신은 아직 그들을 셀 수 없다.

+0

슬프게도 필자는 이클립스 플러그인에 자바 용 "빌드 실행 파일"기능이 있다고 생각하지 않습니다. Netbeans 플러그인이 나에게 승자가되었다는 사실. – Rayne

+3

Java 프로젝트에서도 Eclipse 내에서 JAR 파일을 빌드하지 않습니다. IDE를 신뢰하지 않는 것이 아닙니다 ... 실제로 그렇습니다. 제 견해 : 프로젝트가 JAR의 가치가있을 정도로 심각하다면, 적절한 빌드 시스템을 사용하는 것이 중요합니다. 스칼라 빌드 요구 사항 (JARing 포함)을 모두 처리 할 수있는 Buildr 빌드 스크립트를 작성하려면 네 줄의 짧은 줄이 필요합니다. –

+0

간단한 프로젝트를 작성하고 셸 스크립트 등을 작성하지 않고 사람들이 쉽게 사용할 수 있도록 배포하려는 경우 "빌드"버튼을 클릭하는 것이 좋습니다. – Rayne

3

가 여기에 비슷한 질문 : 넷빈즈 플러그인은 이클립스보다 조금 더 단단한이었다처럼 Scala IDE for EclipseScala Plugin for Netbeans 내 짧은 경험에 Which is the best IDE for Scala development?

, 그것은 보였다.

Eclipse 용 스칼라 IDE를 사용하여 Hello World 형 스칼라 개체를 실행하는 데 문제가 있었으며 때로는 구문 강조 기능이 작동하기 시작했습니다. 그런 다음 Netbeans 플러그인을 사용해 보았는데 Eclipse보다 기능적으로 보였습니다.

스칼라 IDE 플러그인을 많이 사용하지 않았기 때문에 많은 경험을 말할 수는 없지만 초기 인상에서 볼 때 Netbeans 플러그인은 조금 더 보였습니다. 이클립스보다 안정적이다.

+0

그래, 다른 질문을 보았지만 근본적으로 사람들이 하나 또는 다른 사람에게 투표하는 것이 었습니다. 나는 그들과의 실제 경험에 대해 더 관심이 많았다. 귀하의 의견에 감사드립니다! :) Netbeans 프로젝트가 좀 더 성숙하고 조금 더 빠른 속도로 움직이는 것처럼 들립니다. – jsight

+0

이것은 사실 년전일지도 모르지만, 오늘날 사실이 아닙니다. 이클립스 플러그인은 매우 생산적이다. –

3

현재 세 가지 주 IDE는 모두 거의 동일한 수준의 지원을 제공합니다.

  • IntelliJ - 플러그인은 전혀 작동하지 않지만 다른 점은 상당히 좋습니다. 기본 플랫폼은 v8 이후 부진합니다 (적어도 리눅스에서는).
  • Eclipse - 플러그인이 많은 지원을 받고 있으며 매우 적극적으로 개발 중입니다.
  • NetBeans - IMHO, 플러그인은 Eclipse보다 약간 잘 작동하지만 임의의 파일을 실행할 수없는 것은 큰 실수입니다.

위의 모든 것은 모든 문맥에서 AST를 구문 분석 할 수없는 것으로부터 어려움을 겪습니다. 예를 들어, 암시적인 def로 특성을 섞어서 혼동하는 것은 아주 쉽습니다. 구문 오류가있을 때 IDE를 신뢰할 수 없습니다. 확실하게 컴파일러로 돌아가십시오.

0

Eclipse 스칼라 플러그인을 사용하고 있습니다. 자바 도구와 같은 수준은 아니지만 꽤 괜찮습니다.

3

IntelliJ IDEA 8.1 및 해당 Scala plugin을 사용하여 매우 기쁘게 생각하고 권장 할 수 있습니다. 불행히도 다른 IDE의 스칼라 지원에 대한 경험이 없기 때문에 누락 된 기능을 투표하여 영향을 줄 수있는 roadmap도 있습니다.

-2

intelliJ 용으로, 아무 생각이 없습니다. 하지만 이클립스와 넷빈 사이에는 넷빈이 필요합니다. 특히 당신이 sbt에 대한 거래를 원하지 않는다면, 당신은 maven의 방해가되지 않는 IDE를 원할 것입니다.

Netbeans 메이븐 지원은 너무 좋은 방법입니다.

Netbeans 스칼라 편집기는 꽤 잘 작동하는 것 같습니다. netbeans 또는 컴파일러 플러그인 또는 이와 유사한 도우미에서 통합 된 스칼라 개발 키트를 신경 쓰지 않습니다. netbeans에서 나는 단지 세 가지를 기대합니다 : (a) maven의 길에 가지 않고 maven이 내 빌드를 실행하게합니다. (b) 괜찮은 편집기를 내놔 (c) .scala 파일에서 필자의 의존성에 의해 참조되는 라이브러리의 소스 코드.

Netebeans는 세 가지를 모두 제공 할 수 있습니다. 느린 경우에도 느껴질 수 있습니다.

내가 말할 수있는 것은 (1) 작업이 완료되기 때문에 컴파일 문제가 발생하지 않습니다. maven 컴파일러 플러그인이 너무 느립니다. 그러나 자바와 스칼라를 컴파일하는 것은 항상 고통 스럽습니다. 그래도 GWT를 자바 스크립트로 컴파일하려고하면 더 고통 스럽다.

(2) Netbeans은 소스 코드를 완벽하게 파악하고 리프트 CSS 매퍼와 같이 가장 불분명 한 sacala 연산자를 드릴 할 수 있습니다.

이클립스와 마찬가지로, 이클립스 통합은 항상 불쾌했다.너무 많은 종속성과 모듈을 가진 커다란 프로젝트가있는 경우 Netbeans Maven 통합이 매우 시끄럽을 수 있습니다. 그런 다음 netbeans에 의해 수행 된 외부 변경 사항에 대한 점검은 매우 느립니다. 그것은 넷빈의 단점입니다.

그러나 SBT 팬이라면 ... 음, 아마도 대답이 다른 것일 수 있습니다.

하지만 나에게있어서, 메이븐이 오늘날의 일이되어 버렸기 때문에, 나는 "웹 ​​어플리케이션 프로젝트", "라이브러리 프로젝트"등으로 다시 돌아가고 싶지 않습니다. IDE의 새로운 프로젝트. 간단히 "maven 프로젝트"를 원한다면, pom을 읽음으로써 출력물이 무엇인지 알아 내십시오.

관련 문제