it-swarm-vi.com

IntelliJ tốt hơn Eclipse như thế nào?

Tôi biết đã có những câu hỏi như Trình soạn thảo/IDE yêu thích của bạn là gì? , nhưng không ai trong số họ trả lời câu hỏi này: Tại sao phải chi tiền cho IntelliJ khi Eclipse miễn phí?

Cá nhân tôi là một người hâm mộ IntelliJ lớn, nhưng tôi chưa thực sự dùng thử Eclipse. Tôi đã sử dụng IntelliJ cho các dự án là Java, JSP, HTML/CSS, Javascript, PHP và Actioncript và phiên bản mới nhất, 9, đã rất xuất sắc cho tất cả chúng.

Nhiều đồng nghiệp trong quá khứ đã nói với tôi rằng họ tin rằng Eclipse "khá giống nhau" như IntelliJ, nhưng, để phản bác lại điểm đó, thỉnh thoảng tôi đã ngồi sau một nhà phát triển sử dụng Eclipse có vẻ không hiệu quả (để hoàn thành tương tự nhiệm vụ) và tôi chưa có kinh nghiệm này với IntelliJ. Chúng có thể ngang bằng tính năng theo tính năng nhưng các tính năng có thể bị hủy hoại bởi trải nghiệm người dùng kém và tôi tự hỏi liệu IntelliJ có dễ dàng hơn không chọn và khám phá các tính năng tiết kiệm thời gian.

Đối với những người dùng đã quen thuộc với Eclipse, ngoài chi phí thực sự của IntelliJ, còn có chi phí thời gian dành cho việc tìm hiểu ứng dụng mới. Eclipse có rất nhiều người dùng đơn giản là không muốn chi 250 đô la cho một IDE.

Nếu IntelliJ thực sự có thể giúp đội của tôi làm việc hiệu quả hơn, làm thế nào tôi có thể bán nó cho họ? Đối với những người dùng đã thử cả hai, tôi sẽ rất quan tâm đến những ưu hoặc nhược điểm cụ thể.

67
Nicole

Tôi làm việc với Intellij (9.0.4 Ultimate) và Eclipse (Helios) mỗi ngày và Intellij đánh bại Eclipse mỗi lần.

Làm sao? Bởi vì Intellij lập chỉ mục thế giới và mọi thứ chỉ hoạt động theo trực giác. Tôi có thể điều hướng xung quanh cơ sở mã của mình nhiều hơn, nhanh hơn nhiều trong Intellij. F3 (định nghĩa kiểu) hoạt động trên mọi thứ - Java, JavaScript, XML, XSD, Android, bối cảnh Spring. Tái cấu trúc hoạt động ở mọi nơi và hoàn toàn đáng tin cậy (Tôi đã gặp vấn đề với Eclipse làm rối tung nguồn của tôi theo những cách lạ). CTRL + G (nơi được sử dụng) hoạt động ở mọi nơi . CTRL + T (triển khai) theo dõi các trường hợp phổ biến nhất mà tôi sử dụng và hiển thị chúng trước.

Các đề xuất hoàn thành và đổi tên mã rất thông minh đến nỗi chỉ khi bạn quay lại Eclipse, bạn mới nhận ra nó đã làm được bao nhiêu cho bạn. Ví dụ, hãy xem xét việc đọc tài nguyên từ đường dẫn lớp bằng cách nhập getResourceAsStream("/ tại thời điểm này Intellij sẽ hiển thị cho bạn một danh sách các tệp có thể hiện có trên đường dẫn lớp và bạn có thể nhanh chóng đi sâu vào tệp bạn muốn. Nhật thực - không.

Plugin Spring (ngoài hộp) dành cho Intellij vượt trội hơn hẳn so với SpringIDE chủ yếu do kiểm tra mã của họ. Nếu tôi bỏ lỡ các lớp học hoặc đánh vần một cái gì đó sai thì tôi sẽ nhận được một khối màu đỏ ở góc và mực đỏ chỉ là vấn đề nằm ở đâu. Nhật thực - một chút, sắp xếp.

Nhìn chung, Intellij xây dựng rất nhiều kiến ​​thức về ứng dụng của bạn và sau đó sử dụng kiến ​​thức đó để giúp bạn viết mã tốt hơn, nhanh hơn.

Đừng hiểu lầm tôi, tôi yêu Eclipse đến từng bit. Về giá cả, không có sự thay thế và tôi giới thiệu nó cho khách hàng của mình trong trường hợp không có Intellij. Nhưng một khi tôi đã thử nghiệm Intellij, nó đã tự trả tiền trong vòng một tuần nên tôi đã mua nó và từng nâng cấp lớn kể từ đó. Tôi chưa bao giờ nhìn lại.

63
Gary Rowe

Tôi nghe thấy sự khác biệt với IntelliJ là chúng nhiều khả năng sửa và đóng lỗi mà bạn gửi. Điều đó có thể tạo ra sự khác biệt lớn nếu có một số lỗi Eclipse đang chặn bạn.

Mặt khác, bạn không thể nhìn vào IDE một cách cô lập; bạn cần nhìn vào hệ sinh thái. Ở đây, tôi nghĩ rằng Eclipse có một lợi thế (tương tự như lợi thế của Firefox so với Chrome *): Có rất nhiều trình cắm sẵn có và các nhà phát triển có nhiều khả năng viết một trình cắm thêm Eclipse hơn là khác.

[Tangent: * Đối với Firefox Tôi đang nghĩ về Zotero và HTTPS-Everywhere. Tôi sử dụng cả Chrome và Firefox, nhưng một số thứ Chrome không thể xử lý. Ngoài ra, khi thực hiện bản phát, tôi thực sự cần xem trước bản in.]

16
Macneil

Tuyên bố miễn trừ trách nhiệm
[.__.] Điều này được giới hạn ở Android (Trong Java).

Tôi đang đến với điều này với một số kiến ​​thức hạn chế về cả Eclipse và IntelliJ; tuy nhiên, gần đây tôi đã phải quyết định về môi trường phát triển cho Android. Có vẻ như sự lựa chọn rõ ràng đầu tiên sẽ là sử dụng Eclipse vì Google hỗ trợ nó với plugin ADT của họ. Thật không may, tôi thấy thật khó chịu khi phải đi lại vì tôi đã quen với Visual Studio (2010, gần đây hơn 2012). Tôi đã luôn sử dụng ReSharper với Visual Studio vì vậy tôi đã quyết định dùng thử IntelliJ. Sau khoảng 10 phút tôi nhận ra rằng mình đã quyết định đúng.

IntelliJ, như một số đã tuyên bố, lập chỉ mục tất cả mọi thứ. Intellisense là một niềm vui để làm việc và trí thông minh xung quanh các đề xuất là tuyệt vời. Trải nghiệm gỡ lỗi mà tôi thấy là một niềm vui và khá trung thực, tôi thực sự không thể sống mà không có phân tích mã. Tôi biết nhiều người theo chủ nghĩa thuần túy sẽ gặp vấn đề với điều đó nhưng tôi không quan tâm. Tôi phải loại bỏ các dự án rất nhanh cho nhiều người vì vậy đôi khi thật tuyệt khi chạy mã anaylsis và xem những gì IDE gợi ý. Dù bạn có nhận những đề xuất đó hay không là một câu chuyện khác nhưng tôi đã không tìm thấy bất cứ điều gì như thế này trong Eclipse.

Một số người cũng nói rằng không có Android trong phiên bản hiện tại của IntelliJ. Đây chắc chắn là trường hợp nhưng tôi sẽ không bao giờ sử dụng nó. Tôi đang gỡ lỗi trên thiết bị hầu hết thời gian Vì vậy, nó không thành vấn đề. Tôi có thể thấy giao diện và chơi với nó mỗi khi tôi chạy chương trình. Dù sao, từ một anh chàng "không phải Java" truyền thống, tôi phải nói rằng Java là đặc biệt tốt so với Eclipse.

13
Nodey The Node Guy

Bạn cần chứng minh một cách sinh động và không nghi ngờ gì rằng đối với các nhiệm vụ bạn cần thực hiện hàng ngày, IntelliJ cho phép một lượng đáng kể thời gian và công sức được lưu so với Eclipse (và NetBeans).

Điều này sẽ yêu cầu bạn thực hiện một số nghiên cứu để tìm hiểu xem đó có thể là gì, và sau đó xây dựng một bản trình diễn cho thấy những người có thể quyết định cách làm việc.

Sự nghi ngờ của tôi là bạn sẽ thấy đây là một nhiệm vụ khá khó thực hiện, vì Eclipse ngày nay có thể làm khá tốt, khá tốt. Nếu bạn tìm thấy điểm giết người, xin vui lòng chia sẻ - Tôi chắc chắn rất muốn biết.

6
user1249

Intellij tốt hơn vì nhiều lý do, nhất là chủ đề darcula ... nhưng có một vài lý do khác:

  • tự động hoàn thành cho các tên phương thức - nó cung cấp những gì tôi muốn gọi chúng là quy ước usign.
  • jquery autocomplete rất dễ thiết lập (không bao giờ có nó hoạt động với Eclipse).
  • EL tự động hoàn thành trong jsp's
  • tích hợp và kiểm tra mùa xuân cho thấy lỗi trong thiết lập (ví dụ: tên bean trùng lặp)
  • tự động hoàn tất cho ánh xạ bộ điều khiển/url
  • dễ sử dụng và thiết lập tích hợp cơ sở dữ liệu (nó tự động phát hiện nguồn dữ liệu) và tự động hoàn tất
  • kiểm tra mã, như checkstyle và findbugs, được tích hợp và dễ sử dụng.
  • jslint và jshint tích hợp và dễ sử dụng.
  • tích hợp maven hoạt động ra khỏi hộp ngay lập tức.
  • Tất cả các cài đặt là nơi bạn mong đợi chúng được.
  • Nó không phát hiện lỗi không chính xác, tôi đã sử dụng để nhận được các lỗi được tô sáng ở bất kỳ nơi nào không có và phải khởi động lại.
  • Tự động hoàn tất và phát hiện lỗi trong các tệp xml (một vấn đề lớn với mùa xuân)
  • ánh xạ ngủ đông đã bật tự động hoàn thành (các trường của pojos được cung cấp dưới dạng tùy chọn tự động hoàn thành trong pojo được ánh xạ - gr8).
  • ctrl + alt + bấm mở ra ý nghĩa, không phải khai báo
  • Hotdeploy: bạn có thể dễ dàng thiết lập nó để khi intellij mất tập trung, ứng dụng đã triển khai của bạn sẽ được cập nhật tự động - tab alt cho trình duyệt của tôi và mã mới (có thể là các lớp, javascript hoặc jsps) đã được triển khai.
  • một máy khách được tích hợp sẵn mà không cần cấu hình thêm.
  • được xây dựng trong ứng dụng trò chuyện cho phép con trỏ mã - thực sự rất hữu ích.
  • xem kiên trì, dễ dàng truy cập vào tất cả các thực thể và cài đặt jpa/hibernate của bạn.
  • sửa lỗi, sửa lỗi thực tế có trách nhiệm Tôi đã gửi một số lỗi và chúng đã được sửa chữa kịp thời.
  • kiểm tra và tự động hoàn tất trong các tài liệu xml của bạn, rất hữu ích với mùa xuân (tôi biết đây là một sự lặp lại nhưng nó rất tuyệt, tiết lộ vô số lỗi).

Tôi đã sử dụng nó abotu 3 tuần nay vì vậy hy vọng sẽ sớm tìm thấy một số thứ nữa; nó cũng đáng tiền.

Ồ, một điều nữa nó thực sự mở ... Tôi có một lỗi trong Eclipse của tôi có nghĩa là nó sẽ từ chối mở. Chỉ cần "google Eclipse sẽ không mở" có vô số liên kết. Tôi cảm thấy ngu ngốc vì mất nhiều thời gian để thay đổi.

5
NimChimpsky

Google vừa mới thông báo rằng họ đang chuyển Android phát triển sang IntelliJ.

Có một lý do cho việc này. Tôi đã sử dụng Eclipse như một môi trường để dạy các khóa học trong vài năm qua ở cả C++ và Android/Java. Tôi đã xem chất lượng của Eclipse xuống cấp đến mức không thể sử dụng được. Vào mùa thu năm 2012, tôi đã áp dụng Eclipse Juno cho khóa học của mình và đó là một thảm họa chưa được giải quyết. Chương trình không chỉ chậm chạp và chứa nhiều lỗi, nó còn có một số thay đổi giao diện người dùng vượt quá ngu ngốc. Bây giờ tôi sử dụng nó như một trường hợp nghiên cứu trong thiết kế giao diện người dùng xấu.

Tôi không thể giới thiệu Eclipse cho bất cứ ai tại thời điểm này. Cơ sở dữ liệu lỗi đã trở nên lớn đến mức không có cơ hội họ sẽ giải quyết ngay cả một phần nhỏ trong số họ.

3
Charles

Tôi không biết các cú đánh đặc trưng của từng tính năng, nhưng một điều mà tôi đã phát hiện ra khi sử dụng môi trường IntelliJ trong và ngoài khoảng một thập kỷ là các nhóm thiết kế tại JetBrains đã làm rất tốt cả hai đều có IDE "lập chỉ mục thế giới" cũng như giữ các chức năng lập chỉ mục và tự động hoàn thành cả đáp ứng cũng như nhất quán - Tôi thường không nghĩ về nó, nhưng với khả năng phản hồi cộng với số các phím tắt (và khả năng lập bản đồ nhiều hơn), IntelliJ giúp bạn dễ dàng xây dựng "bộ nhớ cơ" khi sử dụng trình chỉnh sửa.

Đó không phải là chuyện nhỏ khi bạn có thể viết mã, tự động hoàn tất, biên dịch và kiểm tra mà không cần dùng ngón tay rời khỏi bàn phím và theo cách mà không cảm thấy như một sự chậm chạp rập khuôn Java.

1
Chad Thompson