2010-01-24 29 views
21

Tôi biết đây là chính xác duplicate, nhưng một năm đã trôi qua và Scala có vẻ là một điều chuyển động nhanh, vì vậy tôi có thể chấp nhận yêu cầu lại:Các IDE Scala tốt vào đầu năm 2010 là gì?

IDE tốt nhất cho phát triển Scala là gì hiện nay?

+1

chủ quan và arguementative, tốt hơn để hỏi 'những gì là tốt ...' chứ không phải 'là gì là tốt nhất ...' –

+4

Thay đổi tiêu đề . Không thành vấn đề nếu nó giúp giữ câu hỏi mở. –

Trả lời

17

Tôi biết plugin Eclipse là một công việc đang được tiến hành và trải qua quá trình viết lại hoàn toàn cho Scala 2.8 nhưng tôi thấy đồng nghiệp sử dụng bản dựng hàng đêm gần đây và nó cực kỳ kém.

Tôi sử dụng IntelliJ IDEA (miễn phí Community Edition 9) và plugin scala cho nó thực sự tốt. Làm nổi bật cú pháp tuyệt vời, điều hướng mã vv Nó không tốt như hỗ trợ Java nhưng sau đó tôi sẽ không nhất thiết mong đợi điều đó. Nó đủ tốt để tôi cảm thấy tôi làm việc hiệu quả hơn là tôi đã có trong Java!

Nó cũng có tích hợp thông số và tích hợp bảng điều khiển.

+2

Tôi đồng ý về nhật thực § $% & /(). Tôi đã xem xét chuyển sang notepad ++ hoặc một cái gì đó. Thật tuyệt vời khi IntelliJ tốt hơn là –

+0

FWIW, IntelliJ rất khó hiểu và khó sử dụng. Ít nhất là hoàn thành công trình ra khỏi hộp (không giống như Eclipse), nhưng tôi vẫn đang đấu tranh để * chạy * "hello world" trong IntelliJ (tho nó biên dịch đẹp mắt). –

+2

@ Alex R - Tôi nghĩ đây là một quan sát phần lớn không công bằng: nó là * khác biệt * từ Eclipse và do đó nó có vẻ không trực quan bởi vì bạn quen với một số mô hình nhất định. Tôi cũng không biết tại sao bạn không thể chạy hello world: CTRL + SHIFT + F10 sẽ chạy bất cứ điều gì trong phạm vi –

10

Tùy chọn chính của bạn là một IDE hoàn chỉnh như IntelliJ IDEA, NetBeans hoặc Eclipse hoặc trình soạn thảo văn bản với một số nhận thức Scala như TextMate hoặc Emacs.

Cá nhân, tôi thích IntelliJ nhất. Tôi đã sử dụng nó để phát triển Java trong nhiều năm, đặc biệt là do khả năng tái cấu trúc và điều hướng mã của nó. Các plugin Scala khá thô để bắt đầu, nhưng đang được cải thiện liên tục. Đó là mã nguồn mở, tôi đã đóng góp các báo cáo lỗi và một vài sửa lỗi.

Các plugin IDE đều đã hoạt động tích cực để sẵn sàng cho Scala 2.8. Đó là một mục tiêu di chuyển trong 6 tháng qua, đặc biệt là khả năng tương thích nhị phân đã bị hỏng khi các tính năng mới được thêm vào. Vì vậy, bạn có thể cập nhật lên bản dựng trình biên dịch mới và sau đó đợi thư viện hỗ trợ (ví dụ: thông số kỹ thuật, scalatest) để được cập nhật và biên dịch lại.

Bây giờ, phiên bản Scala 2.8 Beta sắp xảy ra, những sự cố này ít xảy ra hơn.

IntelliJ triển khai thực hiện phân tích cú pháp và kiểu suy luận riêng của nó, giống như đối với Java. Điều này cho phép nó chịu được nhiều lỗi hơn và ngay lập tức hiểu được mã của bạn khi bạn đang chỉnh sửa. Suy luận kiểu chưa hoàn thành. Eclipse ủy thác hầu hết công việc này cho scalac, có nghĩa là nó phải luôn đồng ý, nhưng thông tin chỉ được tái sinh khi bạn lưu các tệp và trình biên dịch được chạy lại. Tôi không biết NetBeans hoạt động như thế nào trong lĩnh vực này.

16

tôi đã cố gắng cả Eclipse, NetBeans và IntelliJ IDEA,

  • Eclipse là tồi tệ nhất trong quan điểm của tôi. Nó là chậm, đôi khi messes lên cú pháp tô sáng, hầu như luôn luôn messes lên autocompletion và toàn bộ IDE được không phản hồi theo thời gian. Tôi sẽ không khuyên bạn nên sử dụng nó cho bất kỳ loại hình sử dụng nào ngoại trừ việc tự tra tấn.
  • NetBeans hoạt động tốt hơn plugin Eclipse. Làm nổi bật tốt hơn, tự động hoàn thành tốt hơn nhiều nhưng nó đã được báo cáo lỗi trên một cú pháp khá phức tạp trên tất cả các nguồn. Nhưng khi tôi nhấn chạy, mã biên dịch rất tốt. Không thể hiểu tại sao. Một vấn đề khác là tự động hoàn thành không thể đề xuất các thành viên riêng của các lớp khi bạn đang viết bên trong phần thân của lớp đó. Nghèo nàn!
  • IntelliJ IDEA chỉ hoạt động tốt. Tôi khuyên rằng nếu bạn nghiêm túc dựa vào sự phát triển của Scala.

Tôi hy vọng rằng các plugin Eclipse sẽ trưởng thành hơn trong thời gian nhưng cho rằng nó có khá nhiều thời gian để trở nên chín chắn, tôi không phải là một fan hâm mộ lớn của ý tưởng. Scala có một tiềm năng lớn, là một ngôn ngữ thân thiện với lập trình viên và chạy trên JVM (có nghĩa là hiệu suất tuyệt vời và tính khả dụng cao) nhưng hỗ trợ IDE kém là điều tồi tệ nhất cho ngôn ngữ đó. Viết PHP trên một trình soạn thảo văn bản đơn giản có thể chấp nhận được nhưng Scala, với cú pháp và yêu cầu phức tạp như vậy để sử dụng các thư viện Java cồng kềnh, cần có sự trợ giúp. Có lẽ cộng đồng Scala hiện tại với nền tảng không chính xác và Java không thể hiểu được điều này nhưng bạn không thể mong đợi những người mới đến dễ dàng chấp nhận ngôn ngữ như vậy ngay lập tức.

Dù sao, hãy truy cập IntelliJ IDEA ...

+4

Vấn đề với Eclipse là nó sử dụng scalac nội bộ để làm nổi bật cú pháp. Do đó nếu mã của bạn không biên dịch, nó không thể được đánh dấu đúng! –

+0

Cảm ơn thông tin. Rõ ràng, nó không phải là cách tốt nhất để thực hiện làm nổi bật :). –

+1

Tôi nghĩ rằng trình cắm thêm Eclipse đã sử dụng (phi scalac) để làm nổi bật cú pháp: http://lampsvn.epfl.ch/trac/scala/browser/scala-plugin/trunk/src/scala/tools/eclipse/ScalaCodeScanner .scala –

5

Hiện tại, IDEA của IntelliJ. Và một sự khác biệt lớn từ nay đến một năm trước là một phiên bản nguồn mở miễn phí của IDEA có sẵn.

Cá nhân, tôi sử dụng IDEA CE 9.0.1, nhưng để biên soạn & thử nghiệm với SBT, mà tôi tiếp tục chạy trên một cửa sổ khác, với cc hoặc ~test.

+1

IDEA + SBT thực sự rất hay. Thông thường, SBT xây dựng nhanh hơn đáng kể so với lệnh "make" của IDEA. Nhưng có những trường hợp kỳ lạ khi chi phí cố định trong lệnh "make" của IDEA cho Scala vượt quá sự quyết tâm thận trọng của SBT về các tệp thực sự cần biên dịch lại. –

5

Trong ngữ cảnh 2.8, tôi đã sử dụng Eclipse 3.5.x với trình cắm thêm hàng đêm và IDEA Community Edition 9.0. IDEA rõ ràng là tốt hơn cho tôi, ngoại trừ thời gian biên soạn. Nhưng tôi sử dụng sbt song song và nó sẽ quan tâm đến điều đó.

vấn đề chính của tôi với Eclipse plug-in là:

  • Không có khả năng thay đổi cài đặt tab của tôi trong Eclipse (mặc dù điều đó dường như làm việc cho những người khác)
  • Mã biên dịch nhưng một số lỗi vẫn được đánh dấu và tôi cần phải đóng và mở lại tập tin
  • tự động hoàn thành chỉ trả về rất nhiều sự lựa chọn

tôi không có những vấn đề trong IDEA 9.0 build IC-93,13 # với gần đây plug-in 0.3.385. Ngoài ra IDEA hiển thị cho tôi các báo cáo nhập không sử dụng.

Tất cả các trình cắm dường như đang phát triển khá nhanh và được tích cực phát triển và tôi nghi ngờ rằng điều này đúng vào ngày hôm nay có thể không diễn ra trong một tháng. Tôi hy vọng rằng trong một vài tháng tới, chúng tôi sẽ chỉ có thể sử dụng IDE yêu thích của chúng tôi và hỗ trợ Scala tốt.

(lưu ý đây là một repost của câu trả lời gần đây của tôi để the original question)

+0

SBT này là gì? Thời gian xây dựng dài và thời gian bắt đầu dài cho các ứng dụng khiến tôi khó chịu. – ziggystar

+0

@ziggystar Công cụ xây dựng đơn giản http://code.google.com/p/simple-build-tool –

+0

Các mục nhập không sử dụng là khá vô dụng vì chúng không theo dõi đúng cách. Tức là, nếu một nhập khẩu mang lại một chuyển đổi implicut (mà bạn sử dụng), IDEA sẽ đánh dấu sai việc nhập khẩu là không sử dụng –

Các vấn đề liên quan