IntelliJ tốt hơn Eclipse như thế nào? [đóng cửa]


67

Tôi biết đã có những câu hỏi như Trình biên tập / 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 tuyệt vời 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" với 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 tầm với từng 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 nhận và khám phá các tính năng tiết kiệm thời gian hơn không.

Đố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ể.


3
Bạn có thể thấy một số sai lệch lựa chọn ở đây. Một khách hàng của IntelliJ có nhiều khả năng tìm hiểu các tính năng và lối tắt hơn so với người dùng Eclipse trung bình của bạn.
Macneil

3
Tôi sẽ không thúc đẩy người khác sử dụng các công cụ phù hợp với bạn. Điều này rất chủ quan, và những điều ngu ngốc như thế này có thể phá hỏng một mối quan hệ đã được thiết lập. Nếu bạn có lựa chọn sử dụng IntelliJ hoặc Eclipse và dự án sẽ biên dịch tốt bằng cách sử dụng một trong hai - loại bỏ chính bạn, sử dụng IntelliJ. Nếu bạn muốn quảng bá nó, sau đó tình cờ đề cập đến nó khi thời điểm thích hợp. Người lớn ghét nó nhiều như những đứa trẻ làm khi những người khác cố gắng đưa ra quyết định cho chúng. Bạn vẫn có thể khiến họ chuyển đổi, nhưng đó phải là quyết định "HỌ", và vì vậy bạn chỉ cần tạo ra tiếng vang lớn ở bên phải.
Công việc

@Job, tôi đồng ý với điều đó. Tôi muốn tìm hiểu A) nếu IntelliJ có lợi thế thực sự so với Eclipse, vì vậy B) nếu có, tôi có thể bán nó, không bắt buộc.
Nicole

Bạn có nhận ra IntelliJ có phiên bản miễn phí không? Bạn không thể làm cho nó có vẻ như tùy chọn duy nhất là phiên bản trả phí
TheLQ

@TheLQ, bạn đã đúng, vì ngắn gọn, tôi cho rằng người dùng quen thuộc với IntelliJ cũng sẽ quen với những hạn chế của phiên bản miễn phí. Cá nhân tôi chưa bao giờ có một dự án mà nó được sử dụng, vì tôi luôn cần nhiều hơn là thành phần Java thuần túy.
Nicole

Câu trả lời:


63

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ứ - bối cảnh Java, JavaScript, XML, XSD, Android, 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("/vào 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ài nguyên 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 đỏ trong 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ế nào 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.


Chính xác những gì tôi đang tìm kiếm. Một câu hỏi, tôi nghĩ rằng tôi đã có một vài ánh xạ chính khác với bạn. Bạn có thể làm rõ các chức năng bạn đang nói về là gì?
Nicole

2
Bạn có thể đặt IntelliJ để sử dụng các phím tắt Eclipse? Đó có thể chỉ là cú hích cuối cùng mà tôi cần để thực sự cho IntelliJ đi - trí nhớ cơ bắp đã giữ tôi lại. Cảm ơn vì tiền hỗ trợ!
yatima2975

9
@ yatima2975 Không phải lo lắng. Chỉ cần nhìn vào các tùy chọn, lọc trên "sơ đồ bàn phím" và chọn Eclipse. Bạn đã có Emacs và một loạt những người khác nữa.
Gary Rowe

1
Trên máy Linux của tôi, gần đây tôi đã chuyển từ Eclipse sang IntelliJ IDEA Community Edition (mã nguồn mở và hoàn toàn miễn phí) cho một dự án Java / Android và tôi có cùng trải nghiệm tốt. IDEA đơn giản là tuyệt vời. Tải xuống tại đây: jetbrains.com/idea/free_java_ide.html . Như JetBrains đang tuyên bố, IDEA là IDE Java thông minh nhất trên thị trường. Đừng hiểu sai ý tôi: Tôi cũng sử dụng và yêu thích các IDE của Eclipse, NetBeans và Qt Creator (tùy thuộc vào nhiệm vụ và ngôn ngữ trong tay).
AlexBippii

2
Tôi sẽ nhấn mạnh vào hỗ trợ javascript cũng như các ngôn ngữ giao diện người dùng khác. Intellij bao gồm WebStorm, bản thân nó là tuyệt vời cho giao diện người dùng.
y3sh

16

Tôi nghe thấy sự khác biệt với IntelliJ là họ có nhiều khả năng sửa chữa và đóng các 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 các IDE một cách cô lập; bạn cần phải nhìn vào các 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.]


Có sự thật ủng hộ tuyên bố về sửa lỗi không? (Bản thân tôi luôn luôn đấu tranh trong khi so sánh một phép đo như vậy, đặc biệt là với phần mềm, nơi người ta có thể không dễ dàng nhìn thấy dòng lỗi ... giống như hầu hết các phần mềm thương mại và thậm chí một số sản phẩm mã nguồn mở)
Johannes

@johannes Trong khi cá nhân tôi có thể bảo đảm cho việc này, bạn có thể tự mình xem tại youtrack.jetbrains.com/issues
y3sh

1
Mặc dù đúng là Eclipse cung cấp một bộ bổ sung lớn hơn, IntelliJ cũng cung cấp tất cả các plugin cần thiết được yêu cầu để hoàn thành công việc. Nói cách khác, lợi thế về số lượng sẵn có của plugin nên được sử dụng trong ngữ cảnh. Tôi thấy đây là lý do chính tại sao Eclipse được ưa thích hơn IntelliJ.
e28Makaveli

13

Tuyên bố miễn trừ trách nhiệm
Điều này chỉ giới hạn cho phát triển Android (Rõ ràng là 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 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 nhanh chóng đưa ra các dự án cho nhiều người vì vậy đôi khi thật tuyệt khi chạy mã anaylsis và xem IDE gợi ý gì. Dù bạn có đưa ra những gợi ý đó 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ó nhà thiết kế 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 một thiết bị hầu hết thời gian để 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 đặc biệt tốt so với Eclipse.


6

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á hợp lý. 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.


2
"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." - Đó thực sự là lý do tại sao tôi hỏi - thật khó để tìm ra thời gian để thực hiện nghiên cứu này hoặc tự mình thử Eclipse (và dù sao tôi cũng có thể bị thiên vị). Tôi hy vọng tôi phát hiện ra một số người dùng đã có một số trải nghiệm tốt với cả hai!
Nicole

1
@ Thorbjørn Đúng, nhưng tôi đang nói về các nhiệm vụ chung, loại được áp dụng trên ít nhất là tất cả các trường hợp sử dụng mà tôi nghĩ, mà tôi nghĩ là khá rộng. Nhưng, nếu có bất cứ điều gì cụ thể, thật tốt khi biết đó là gì.
Nicole

1
@ Thorbjørn Bạn nói đúng về những gì sẽ thuyết phục họ, nhưng tôi nghĩ các nhiệm vụ chung áp dụng ở đây. Năng suất của tôi tăng 10: 1 bởi các tính năng chung của IDE so với các tập hợp tính năng liên quan đến công việc cụ thể của tôi. Nói cách khác, các tính năng IDE tiêu chuẩn thứ giúp tôi / chúng trong công việc hàng ngày.
Nicole

2
Trên thực tế, đối với chi phí, tất cả những gì bạn phải làm thực tế là chứng minh rằng nó có thể tiết kiệm ít nhất ~ 10 giờ năng suất trong suốt thời gian sử dụng dự định của nó (giả sử trả 25 đô la / giờ cho lập trình viên). Tất cả mọi thứ sau đó là nước thịt.
Steven Evers

1
Chỉ để cho bản ghi âm thôi. Eclipse và IntelliJ (và Netbeans) hoạt động tốt với Maven. Điều này có nghĩa là nếu bạn sử dụng các dự án Maven, bạn có thể sử dụng IDE phù hợp nhất cho tình huống hiện tại.

5

Intellij tốt hơn vì nhiều lý do, nhất là chủ đề darcula ... nhưng có một vài thứ 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 nhật thực).
  • 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 + nhấp để mở hàm ý, 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ở ra ... Tôi có một lỗi trong nhật thực có nghĩa là nó sẽ từ chối mở. Chỉ cần "nhật thực google không mở" là 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.


Đây là một danh sách rất hữu ích, nhưng bạn đã quên đề cập đến IDE mà bạn đang nói đến. Dựa trên việc bạn đề cập đến phiên bản 12 trong câu cuối cùng, tôi đoán đây là tất cả về IntelliJ.
Xander Dunn

3

Google vừa mới thông báo rằng họ đang chuyển sự phát triển Android 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ọ.


Điều này hữu ích ở mức cao, nhưng bạn có thể cung cấp thêm chi tiết?
Kazark

1

Tôi không biết về các tính năng đặ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ữ cho 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ố phím tắt (và khả năng lập bản đồ hơn nữa), IntelliJ giúp 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à một điều nhỏ khi bạn có thể viết mã, tự động hoàn thành, 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 giống như một ứng dụng Java chậm chạp khuôn mẫu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.