게시판
Eclipse에서는 불가능한 IntelliJ에서는 가능한 일입니까?
spusious394047 ・ 2022. 2. 15. 17:44
URL 복사 이웃추가
본문 기타 기능
신고하기
나는 둘 중 하나를 선택하고 둘 중 하나를 선택하는 사람들로부터 들었습니다.
Eclipse의 열렬한 팬이지만 IntelliJ를 사용해 볼 시간이 없었기 때문에 "ex-Eclipsians"인 IntelliJ 사용자로부터 Eclipse로 할 수 없는 IntelliJ로 할 수 있는 몇 가지 특정 작업에 대해 듣고 싶습니다.
참고 : 이것은 주관적인 질문이 아니며 IDE의 전쟁으로 변질될 의도가 전혀 없습니다. 모든 플레임베이트 답변에 반대 투표를 하십시오 .
IntelliJ는 코드에서 jspx 문서로의 인텔리센스 및 리팩토링 지원을 제공합니다.
IntelliJ 디버거에는 "Evaluate Expression"이라는 매우 편리한 기능이 있습니다. 이 기능은 eclipses 펜던트보다 훨씬 좋습니다. 전체 코드 완성 기능이 있으며 일반적으로 "더 유용"하다고 생각합니다.
IntelliJ에는 꽤 고급 코드 검사가 있습니다(FindBugs와 비슷하지만 다릅니다).
IntelliJ를 사용할 때 FindBugs 플러그인을 심각하게 그리워하지만(Eclipse/FindBugs 통합은 매우 훌륭합니다).
다음 은 IntelliJ에서 지원하는 CodeInspections의 공식 목록입니다.
편집: 마지막으로 IntelliJ용 findbugs-plugin 이 있습니다. 아직 베타 버전이지만 Code Inspections와 FindBugs의 조합은 정말 훌륭합니다!
글쎄, 나에게 그것은 천 개의 작은 것들이다. 일부 매크로, Eclipse의 일반적인 GUI 레이아웃은 끔찍합니다. Eclipse의 다른 창에서 여러 프로젝트를 열 수 없습니다. 여러 프로젝트를 열 수 있지만 파일을 전환할 때 보기 기반 시스템이 여러 가지를 교환합니다. IntelliJ의 코드 검사가 더 나은 것 같습니다. 일반적인 문제를 해결하는 팝업 도우미가 좋습니다. 핫스팟 위로 마우스를 가져갈 수 있는 사이드 바와 같은 간단한 유용성 항목이 많이 있습니다. 그러면 메소드 또는 구현 중인 메소드의 모든 구현 하위 클래스와 위치를 알려줍니다.
Eclipse를 사용해야 하거나 다른 사람이 사용하는 것을 볼 때마다 IntelliJ에서 내가 할 수 있는 대부분의 일을 그들이 할 수 있는 것처럼 보이지만 더 오래 걸리고 더 투박합니다.
CTRL-클릭은 어디에서나 작동합니다.
클릭된 객체가 정의된 위치로 이동하는 CTRL-클릭은 Java 코드의 Java 클래스 및 변수뿐만 아니라 Spring 구성(클래스 이름, 속성 또는 빈 이름을 클릭할 수 있음), Hibernate(당신이 속성 이름이나 클래스 또는 포함된 리소스를 클릭할 수 있음), Java 클래스에서 Spring 또는 Hibernate 빈으로 사용되는 위치로 한 번의 클릭으로 탐색할 수 있습니다. 포함된 JSP 또는 JSTL 태그를 클릭해도 작동합니다. JavaScript 변수 또는 함수를 ctrl-클릭하면 정의된 위치로 이동하거나 HTML 또는 JSP의 다른 .js 파일 및 JS 코드를 포함하여 둘 이상의 위치가 있는 경우 메뉴를 표시합니다. 파일.
많은 언어에 대한 자동 완성
최대 절전 모드
HSQL 표현식의 자동 완성, Hibernate 구성(클래스, 속성 및 DB 열 이름 포함), Spring 구성
<property name="propName" ref="<hit CTRL-SPACE>"
그러면 해당 속성에 주입할 수 있는 빈 목록이 표시됩니다.
자바
Java 코드의 매우 스마트한 자동 완성:
interface Person { String getName(); String getAddress(); int getAge();}//---Person p;String name = p.<CTRL-SHIFT-SPACE>
getName() , getAddress() 및 toString() 만 표시되며(유형별로만 호환됨) getName() 이 더 관련성 있는 이름을 가지고 있기 때문에 목록에서 첫 번째입니다. 아직 EAP에 있는 최신 버전 8에는 훨씬 더 스마트한 자동 완성 기능이 있습니다.
interface Country{}interface Address { String getStreetAddress(); String getZipCode(); Country getCountry();}interface Person { String getName(); Address getAddress(); int getAge();}//--- Person p;Country c = p.<CTRL-SHIFT-SPACE>
자동으로 자동 완성됩니다.
Country c = p.getAddress().getCountry();
자바스크립트
JavaScript의 스마트 자동 완성.
function Person(name,address) { this.getName = function() { return name }; this.getAddress = function() { return address };}Person.prototype.hello = function() { return "I'm " + this.getName() + " from " + this.get<CTRL-SPACE>;}
프로젝트의 다른 JS 객체에 있는 get* 메서드에 관계없이 getName() 및 getAddress() 만 표시합니다. 프로젝트에 다른 getName() 함수가 있습니다.
HTML
<script src="", <img src="" 등과 같은 파일 경로에서 자동 완성 및 Ctrl-클릭에 대해 언급했습니까?
HTML 태그 속성의 자동 완성. 속성 이름과 값 모두 HTML 태그의 스타일 속성에서 자동 완성. 클래스 속성에서도 자동 완성.
<div class="<CTRL-SPACE>를 입력하면 프로젝트에 정의된 CSS 클래스 목록이 표시됩니다. 하나를 선택하고 Ctrl 키를 누른 채 클릭하면 정의된 위치로 리디렉션됩니다.
손쉬운 모국어 하이라이팅
최신 버전에는 언어 삽입이 있으므로 사용자 정의 JSTL 태그에 일반적으로 JavaScript가 포함되어 있고 그 안에 JavaScript를 강조 표시한다고 선언할 수 있습니다.
<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>
모든 프로젝트에서 색인화된 검색.
모든 Java 클래스 또는 메소드의 사용법 찾기를 사용할 수 있으며 Java 클래스뿐만 아니라 Hibernate, Spring, JSP 및 기타 장소를 포함하여 사용되는 위치를 찾을 수 있습니다. Rename Method 리팩토링은 Java 클래스뿐만 아니라 주석을 포함하는 모든 위치에서 메소드의 이름을 바꿉니다(주석의 문자열이 실제로 메소드 이름인지 확신할 수 없으므로 묻습니다). 그리고 같은 이름을 가진 다른 클래스의 메소드가 있더라도 사용자의 메소드만 찾습니다.
좋은 소스 제어 통합(SVN은 변경 목록을 지원합니까? IDEA는 모든 소스 제어에 대해 지원함), 변경 사항으로 패치를 생성하여 커밋하지 않고 다른 팀원에게 변경 사항을 보낼 수 있는 기능.
향상된 디버거
디버거의 감시 창에서 HashMap 을 볼 때 논리적 보기 - 키 및 값, 지난번에 Eclipse에서 수행했을 때 해시 및 다음 필드가 있는 항목이 표시되었습니다. 내용입니다.
Spring & Hibernate 구성 검증
그것은 당신이 그것을 편집할 때 바로 Spring과 Hibernate 구성의 유효성을 검사하므로, 내가 클래스 이름의 철자가 틀렸다는 것을 알기 위해 서버를 다시 시작할 필요가 없거나 Spring cfg가 유효하지 않도록 생성자 매개변수를 추가할 필요가 없습니다.
지난번에 시도했을 때 Windows XP x64에서 Eclipse를 실행할 수 없었습니다.
그리고 그것은 당신에게 person.name 또는 person.address 를 제안할 것입니다.
person.name 을 Ctrl-클릭하면 Person 클래스의 getName() 메소드로 이동합니다.
유형 Pattern.compile(""); 거기에 \\를 넣고 CTRL-SPACE를 누르고 정규 표현식에 무엇을 넣을 수 있는지에 대한 유용한 힌트를 확인하십시오. 여기에서 언어 주입을 사용할 수도 있습니다. 문자열 매개변수를 사용하는 고유한 메서드를 정의하고 IntelliLang 옵션 대화 상자에서 매개변수가 정규식임을 선언하면 자동 완성 기능도 제공됩니다. 말할 필요도 없이 잘못된 정규 표현식을 강조 표시합니다.
다른 특징들
Eclipse에 있는지 없는지 확실하지 않은 몇 가지 기능이 있습니다. 그러나 적어도 Eclipse를 사용하는 우리 팀의 각 구성원은 일부 병합 도구를 사용하여 로컬 변경 사항을 소스 제어(일반적으로 WinMerge)의 변경 사항과 병합합니다. 절대 필요하지 않습니다. IDEA에서 병합하는 것만으로도 충분합니다. 세 번 클릭하면 소스 제어에서 파일 버전 목록을 볼 수 있고, 세 번 더 클릭하면 이전 버전 또는 이전 버전과 현재 버전을 비교하고 병합할 수 있습니다.
각 파일을 개별적으로 선택하지 않고 WEB-INF\lib 폴더 내의 모든 .jar가 필요하도록 지정할 수 있으므로 누군가가 새 .jar을 해당 폴더에 커밋하면 자동으로 선택합니다.
위에서 언급한 것은 아마도 그것이 하는 일의 10%일 것입니다. 저는 Maven, Flex, Swing, EJB 등 많은 것들을 사용하지 않아서 어떻게 도움이 되는지 모르겠습니다. 하지만 그렇게 합니다.
아마도 할 수 있는 것과 할 수 없는 것의 문제가 아니라 어떻게 .
예를 들어 둘 다 프로젝트, 클래스 경로, 출력, 구조 등을 위한 독 패널로 둘러싸인 편집기가 있습니다. 그러나 Idea에서 이러한 모든 축소를 입력하기 시작하면 자동으로 코드 자체에 집중할 수 있습니다. 이클립스에서는 이 모든 패널이 열린 상태로 유지되어 총 볼 수 있는 영역의 약 1/5로 편집기 영역이 매우 축소됩니다. 따라서 마우스를 잡고 클릭하여 해당 패널에서 최소화해야 합니다. 하루 종일 이 일을 하는 것은 일식에서 매우 실망스러운 경험입니다.
뷰 출력 창에서는 정반대의 일이 발생합니다. Idea에서 프로그램을 실행하면 이전에 최소화된 경우에도 프로그램의 출력을 볼 수 있는 출력 창/패널이 표시됩니다. 이클립스에서는 출력 창/패널이 나머지 창과 마찬가지로 또 다른 창이기 때문에 마우스를 다시 잡고 출력 탭을 찾은 다음 클릭하여 내 프로그램 출력을 확인해야 하지만 Idea에서는 다음과 같이 처리됩니다. 특별한 방법: "사용자가 자신의 프로그램을 실행하려는 경우 해당 프로그램의 출력을 보고 싶어할 가능성이 매우 높습니다!" 내가 쓸 때는 너무 자연스러워 보이지만 이 기본 사용자 인터페이스 개념에서는 Eclipse가 실패합니다.
아마도 이클립스에 이것에 대한 바로 가기가 있을 것입니다(편집하는 동안 출력 창을 자동으로 숨기고 프로그램을 실행할 때 자동으로 표시). 그러나 다른 수십 가지 기능과 마찬가지로 바로 가기는 포럼, 온라인 도움말 등에서 찾아야 하므로 Idea에서는 조금 더 " 자연스러운".
자동 완성, 자동 줄 바꿈, 빠른 문서 보기 등 거의 모든 기능에 대해 이 작업을 반복할 수 있습니다. 나는 사용자 경험이 Eclipse보다 Idea에서 훨씬 더 즐겁다고 생각합니다. 그러면 "즐거운 개발"이라는 모토가 실현됩니다.
Eclipse는 더 빠른 더 큰 프로젝트(+300개의 jar 및 +4000개의 클래스)를 처리하며 IntelliJ Idea 8이 이 작업을 수행하고 있다고 생각합니다.
물론 이 모든 것은 주관적입니다. 사용자 경험을 어떻게 측정할 수 있습니까?
구조 검색 및 교체.
예를 들어 다음과 같이 검색합니다.
System.out.println($string$ + $expr$);
여기서 $string$은 리터럴이고 $expr$는 my.package.and.Class 유형의 표현식이며 다음으로 바꿉니다.
$expr$.inspect($string$);
메소드에 커서가 있는 경우 CTRL+SHIFT+I 를 누르면 메소드 구현이 팝업됩니다. 메서드가 interface 메서드인 경우 위쪽 및 아래쪽 화살표를 사용하여 구현을 순환할 수 있습니다.
Map<String, Integer> m = ...m.contains|Key("Wibble");
어디 | (예를 들어) 커서가 있는 곳입니다.
IntelliJ가 수행하는 두 가지 작업은 Eclipse가 나에게 그다지 중요하지 않습니다.
메서드 구분 기호: 메서드 사이의 희미한 회색 선은 코드를 훨씬 더 읽기 쉽게 만듭니다.
텍스트 앤티앨리어싱: IDE에서 코드를 보기 좋게 만듭니다.
탐색 표시줄 ALT-Home을 표시합니다.
내가 정기적으로 사용하는 한 가지는 중단점을 설정한 다음 중단점을 제어하는 것입니다. (마지막 직장에서 대부분의 사람들은 Eclipse를 사용했습니다. Eclipse에서 이 작업을 수행하는 방법을 찾는 사람이 아무도 없다는 사실에 놀랐습니다.)
예를 들어 중단점이 실제로 중지되지 않고 콘솔에 메시지를 기록하도록 할 수 있습니다. 즉, "System.out.println(...)"을 사용하여 코드를 엉망으로 만든 다음 다시 컴파일할 필요가 없습니다.
"클립보드와 비교"를 잊지 마십시오.
IntelliJ에서 항상 사용하고 Eclipse에는 이에 상응하는 것이 없습니다.
Eclipse에서 word/line/method/class wrap이 가능한지 기억나지 않습니다.
Intellij Idea에서는 Ctrl+W 를 사용합니다.
Idea 8.0에는 다음 자동 완성을 수행하는 멋진 ctrl+shift+space x 2가 있습니다.
City city = customer.<ctrl-shift-space twice>
해결하다
City city = customer.getAddress().getCity();
여러 레벨의 getter/setter를 통해
내가 intellij를 사용하고 Eclipse를 사용하지 않는 이유는 단 하나입니다. 사용성
디버깅이든, 리팩토링이든, 자동 완성이든.. Intellij는 일관된 키 바인딩, 찾을 수 있는 옵션 등으로 훨씬 사용하기 쉽습니다. 기능 면에서 Intellij가 Eclipse를 따라잡기가 어려울 것입니다. 후자는 intellij보다 훨씬 더 많은 플러그인을 사용할 수 있으며 쉽게 확장할 수 있습니다.
IntellijIdea로 코딩을 많이 하지는 않았지만 IntellijIdea에서는 대괄호 사이의 코드 블록( if, try/catch, cycle 등 )이 시작되고 끝나는 위치를 볼 수 있습니다.
Eclipse(Eclipse 3.2에서 코딩)에서는 수동으로만 블록을 식별할 수 있습니다.
Eclipse(내가 찾은)에 상응하는 항목이 없는 IntelliJ에서 내가 가장 좋아하는 바로 가기는 '심볼로 이동'입니다. CTRL-ALT-SHIFT-N 을 사용하면 전체 프로젝트에서 입력을 시작하고 클래스, 메서드 이름, 변수 이름 등을 검색할 수 있습니다.
Maven POM에서 프로젝트를 엽니다.
"프로젝트 열기..."를 선택하기만 하면 최상위 pom.xml로 이동하고 Enter 키를 누르십시오. :)
NetBeans에는 이제 이 기능도 있습니다.
나는 최근에 Eclipse를 통한 IntelliJ IDEA의 두 가지 장점을 발견했습니다.
JSP 코드 편집기에서 코드 형식을 사용하려고 하면 JSP 스크립틀릿이 손상됩니다. Eclipse는 약간 미친 듯이 여기 저기에 임의의 코드 조각을 광고합니다. IDEA는 매우 훌륭하게 작동합니다.
다른 하나는 JBoss Server에 애플리케이션을 배포하는 속도입니다. IntelliJ는 JBoss의 tmp 폴더에 있는 응용 프로그램을 대체하므로 재배포가 정말 빠릅니다. Eclipse WTP는 배포 폴더에서 애플리케이션을 대체하고 있으며, 결과적으로 훨씬 더 오래 지속됩니다.
내 대답의 서문: Eclipse 사용이 제한적입니다. 우리는 Windows와 Mac 모두에서 작동하기 위해 Java IDE가 필요했고 Mac 포트는 나날이 느려졌습니다. 이것은 몇 년 전이었고 지금은 괜찮다고 확신합니다. 그러나 그것이 우리가 IntelliJ로 전환하게 된 이유이며 우리는 그것에 만족합니다.
이제 내 대답을 위해: 내가 아직 언급하지 않은 한 가지 큰 차이점은 IntelliJ/Jet Brains가 기술 지원을 더 잘한다는 것입니다. JetBrains에 이메일을 보내면 1시간 이내에 최종 답변을 받을 수 있습니다. Eclipse 문제에 대한 답변을 찾는 것은 훨씬 더 많은 수의 통찰력 있고 도움이 되는 답변과 함께 "바보 같은 바보"라는 일반적인 답변(보통 적은 수의 답변)을 얻습니다. 그러나 진정한 답을 얻으려면 약간의 정렬이 필요합니다.
훨씬 더 많은 리팩토링.
IntelliJ에서 항상 사용하는 것은 입력할 때 리팩토링하는 것입니다. 두 IDE를 모두 사용하여 인쇄물(원래 Eclipse로 작성)에서 클래스를 다시 작성했으며 Eclipse보다 IntelliJ에서 동일한 클래스를 작성하는 데 약 40% 적은 키 입력/마우스 클릭을 사용했습니다.
불완전한 코드 조각으로 많은 리팩토링을 지원할 때까지 Eclipse를 사용하고 싶지 않습니다.
다음은 IntelliJ 8.0/8.1의 더 긴 기능 목록입니다. [ http://www.jetbrains.com/idea/features/index.html]
몇 가지 다른 사항:
매개변수/예외 전파
메서드 서명 변경, 매우
깊은 방법을 업데이트하는 데 편리합니다.
호출 스택 내부
jdbc 호출에 인수로 전달된 문자열의 SQL 코드 유효성 검사
(그리고 새로 번들로 제공되는 전체
언어 주입 물건)
인터페이스 및 클래스(및 해당 메서드)에 대한 아이콘으로 구현/덮어쓰기
스마트 구현 탐색
(Ctrl+Alt+클릭 또는 Ctrl+Alt+B)
EJB 2.1 인터페이스와 빈 클래스 간의 연결
(리팩토링 지원 포함) 낡은
하나, 그러나 여전히 엄청나게 가치 있는
오래된 프로젝트에서 작업할 때
매우 유용한 기능 중 하나는 필요한 부분만 포함되도록 Maven 리액터 프로젝트를 부분적으로 빌드하는 기능입니다.
이것을 좀 더 명확하게 하기 위해 많은 공통 리소스(예: JavaScript, Spring 구성 파일 등)가 있는 WAR 파일 모음이 오버레이 기술 을 사용하여 공유되는 경우를 고려하십시오. 일부 웹 페이지(Jetty에서 실행)에서 작업 중이고 별도의 모듈에 있는 일부 오버레이 코드를 변경하려는 경우 일반적으로 Jetty를 중지하고 Maven 빌드를 실행하고 Jetty를 다시 시작한 다음 계속하다. 이것은 Eclipse와 내가 작업한 다른 모든 IDE의 경우입니다. IntelliJ에서는 그렇지 않습니다. 프로젝트 설정을 사용하여 백그라운드 빌드에 포함하려는 모듈의 패싯을 정의할 수 있습니다. 결과적으로 매끄럽게 보이는 프로세스로 끝납니다. 프로젝트의 거의 모든 코드를 변경하고 브라우저를 새로 고치면 즉시 사용할 수 있습니다.
매우 깔끔하고 매우 빠릅니다.
YUI가 없는 DWR/SpringMVC에 백업하는 것과 같은 것으로 프론트 엔드를 코딩하는 것은 상상할 수 없었습니다.
이 IDE 중 하나를 고수할 수 있다고 생각합니다.
"사용하지 않는 IDE의 엄청난 이점을 놓치는 것에 대해 걱정하지 말라"는 가장 좋은 신호는 Eclipse 팬과 IntelliJ 팬 사이에서 보아온 매우 긴 논쟁입니다. 이것은 양측이 이 긴 토론을 지속할 수 있게 한 거의 동일한 권한을 가지고 있다는 좋은 신호입니다.
새로운 Android Studio 때문에 IntelliJ로 전환을 시도했습니다. 하지만 지금은 매우 실망스럽습니다. Code Recommanders 플러그인과 함께 Eclipse를 사용하고 있습니다. 다음은 Eclipse가 뛰어난 이유에 대한 간단한 예입니다.
새 SimpleTimeZone 을 만들고 싶습니다. SimpleTimeZone 에는 인수가 0인 생성자가 없습니다.
이클립스에서 Ctrl + Space
IntelliJ에서 Ctrl + Space
IntelliJ에서는 SimpleTimeZone 에 어떤 종류의 생성자가 있는지 정보를 얻지 못합니다.
이클립스 진입 후
미리 정의된 변수 이름으로 채워진 이전에 선택한 생성자를 얻습니다. 그리고 모든 인수의 유형을 볼 수 있습니다. Code Recommanders를 사용하면 Eclipse는 현재 범위에서 이전에 정의된 변수 유형으로 올바른 생성자를 추측하고 이러한 변수로 생성자를 채웁니다.
IntelliJ에 입력 하면 아무 일도 일어나지 않습니다. 나는 빈 생성자를 얻는다. 예상 인수를 보려면 Ctrl + P 를 눌러야 합니다.
IntelliJ에서는 "마지막 편집 위치"로 편집한 마지막 장소의 기록을 건너뛸 수 있습니다. Eclipse에는 유사한 기능이 있지만 Eclipse는 편집 위치의 한 수준으로만 되돌아갑니다.
Eclipse가 제공하는 한 수준이 아닌 기록을 갖는 것은 생산성이 매우 좋은 기능입니다. 변경을 수행한 위치로 자주 돌아가고 싶어하기 때문에 자동 북마크의 한 형태로 작동합니다. 이 기능을 하루에 여러 번 사용하고 있는데, 이클립스를 사용하라는 요청을 받았을 때 이 기능이 없어서 안타까움을 느꼈습니다.
우선 저는 인텔리를 사랑합니다. 이클립스에는 없는 기능이 최소 100개 있습니다. 나는 이미 언급된 리팩토링, 이름 변경, 이동 및 기타와 관련하여 과장법이 설명할 수 없는 안정성과 지능 면에서 훨씬 더 낫다고 말하고 있습니다.
그러나 intellij가 일식을 허용하지 않는 한 가지가 있습니다. 동일한 VM에서 한 번에 여러 프로젝트를 실행할 수 없습니다.
프론트, 미들, 코어, 에이전트..등에 대한 별도의 프로젝트가 있고 모두 서로 상호 작용해야 하는 경우, afaik 동시에 빠르게 수정하고 디버그할 수 없습니다. 현재 내가 이에 대처하는 유일한 방법은 ant 스크립트를 사용하여 종속 프로젝트에서 jar를 배포 및 업데이트하거나 maven을 사용하는 것입니다.
Eclipse를 사용하면 하나의 ide VM 인스턴스에서 여러 프로젝트를 디버깅할 수 있습니다.
이것이 이미 다루어진 경우 죄송하지만 로컬 변경 사항, 수신 변경 사항, 원격 변경 사항을 볼 수 있는 '변경 사항' 탭이 있는 것은 단순히 제가 없이는 살 수 없는 것입니다. Eclipse에서는 그러한 항목을 찾을 수 없습니다. 특징!
또한 '열린 선언'에 바인딩되는 가운데 클릭과 같은 간단한 작업은 훌륭한 UI 추가 기능입니다. Eclipse에서는 구현된 것도 볼 수 없습니다.
직장에 이클립스밖에 없는데 개인 Idea 라이선스를 구매할까 심각하게 고민중입니다....
현재로서는 탭이 다른 창으로 찢어질 수 있는 유일한 창입니다. 더 많은 화면이 있을 때 편리합니다.
Alt+Insert 는 열 모드에서 텍스트를 편집합니다.
내 생각에 좋은 점 중 하나는 Dependency Structure Matrix 입니다.
http://www.jetbrains.com/idea/features/dependency_analysis.html#link0
Lattix의 웹사이트(독립형 제품)에는 DSM 사용 및 이점에 대한 좋은 소개가 있습니다.
http://www.lattix.com/files/dl/slides/s.php?directory=4tour
VIM 에뮬레이터. 이 플러그인은 IDEA에서 파일을 편집하는 동안 거의 완전한 vi/vim/gvim 에뮬레이션을 제공합니다.
다음 기능이 지원됩니다.
모션 키
삭제/변경
삽입 모드 명령
점수
레지스터
VIM 실행 취소/다시 실행
비주얼 모드 명령
일부 Ex 명령
일부 : 옵션 설정
검색 및 검색/바꾸기를 위한 전체 VIM 정규식
매크로
도표
명령줄 기록
검색 기록
점프 목록
VIM 도움말
http://plugins.jetbrains.net/plugin/?id=164 에서 이 플러그인에 대한 몇 가지 의견
이 플러그인 때문에 다른 아이디어로 돌아가는 것을 볼 수 없습니다.
두 세계의 최고... 굉장합니다!.
그것이 내가 모든 IDE에서 부족했던 것입니다.
데이터 흐름 분석 : 여기 에 설명된 절차 간 역방향 흐름 분석 및 순방향 흐름 분석 . 내 경험은 데이터 흐름 분석을 상당히 잘 수행하는 Community Edition을 기반으로 합니다. 코드가 매우 복잡한 몇 가지 경우에 실패했습니다(아무것도 하기를 거부했습니다).
아이디어가 훨씬 더 간단한 방법으로 해결하거나 이에 상응하는 것이 없습니다.
자동 완성 작업: ctrl+shift+a 를 하면 키 조합을 기억하지 않고도 키보드에서 모든 아이디어 작업을 호출할 수 있습니다... Windows에서 gnome-do 또는 launchy를 생각하면 아이디어가 나옵니다! 또한 이 기능은 CamelCasing 약어를 지원합니다 ;)
선반: 코드의 일부를 쉽게 분리한 다음 diff 뷰어를 통해 검토할 수 있습니다.
로컬 기록: 훨씬 더 잘 관리되고 간단합니다.
SVN 주석 및 기록: 검사가 더 간단하고 전체 소스 파일의 해당 부분에 대한 기록만 쉽게 볼 수 있습니다.
표현식 평가 및 중단점 조건 창과 같은 모든 곳에서 자동 완성.
Maven 통합... 훨씬 더 간단하고 잘 통합되었습니다.
루프 삽입, 래핑/캐스팅, 이름 바꾸기 및 변수 추가와 같이 손에 훨씬 더 가까운 리팩터링.
훨씬 강력하고 잘 조직되어 있습니다. 큰 프로젝트에서도
큰 프로젝트의 여러 브랜치에서 동시에 작업하는 것이 훨씬 안정적입니다.
더 깔끔하고 심플한 인터페이스...
또한 키보드로만 사용하는 것이 더 간단하여 많은 간단한 작업에 마우스를 사용해야 하는 필요성을 없애고 시간을 절약하고 코드에 더 집중할 수 있습니다. 중요한 위치에 있습니다!
그리고 이제 오픈소스가 되어... Idea 사용자 기반은 기하급수적으로 증가할 것입니다.
저에게는 IDEA의 maven 지원, 특히 버전 9에서 타의 추종을 불허합니다. maven 모델에 대한 프로젝트의 즉각적인 동기화는 환상적이며 개발을 즐겁게 만듭니다.
Intellij에는 Subversive 또는 Subclipse보다 훨씬 우수한 SVN 플러그인이 있으며 작동합니다! Eclipse를 사용하여 소스 파일을 병합하는 데 낭비한 시간의 양은 생각할 수 없습니다. 플러그인이 훨씬 더 도움이 되기 때문에 IntelliJ에서는 문제가 되지 않습니다.
또한 Subclipse 플러그인은 신뢰할 수 없습니다. 플러그인이 다른 개발자가 SVN에 체크인한 코드가 없다고 생각하는 경우가 정기적으로 있지만 CI 서버가 이를 처리했습니다!
변수를 소개합니다. (Windows에서는 Ctrl+Alt+V , OSX에서는 Cmd+Alt+V )
service.listAllPersons() 메서드를 호출한다고 가정해 보겠습니다.
Ctrl+Alt+V 및 Enter 키를 누르면 메서드 호출의 반환 값에 대한 변수가 삽입됩니다.
List<Person> list = service.listAllPersons();
입력을 저장하고 호출하는 메서드의 반환 유형을 확인할 필요가 없습니다. 제네릭을 사용할 때 특히 유용합니다.
new ArrayList<String>()
[변수 도입]
ArrayList<String> stringArrayList = new ArrayList<String>();
(물론 Enter 키를 누르기 전에 변수 이름을 쉽게 변경할 수 있습니다)
모든 답변에서 알 수 있듯이 이 둘에는 서로 다른 여러 기능과 워크플로가 있습니다. 그러나 어떤 프레임워크를 사용할지 결정할 때 각 도구로 만들 수 있는 일반적인 생산성 향상도 많이 고려한다고 생각합니다.
저는 Netbeans와 Eclipse의 열렬한 팬이며 수년 동안 둘 다 사용해 왔습니다. 그들은 훌륭한 도구이며 수행하는 작업에 따라 둘 중 하나를 선택할 수 있습니다.
그러나 약 6개월 전 HMT5 UI용 자바스크립트 프론트엔드 코드가 많이 포함된 복잡한 자바 웹 프로젝트를 진행하던 중 js 자동 완성 버그로 인해 Eclipse의 대안을 찾아야 했습니다. 너무 절망적이어서 내 js 코드를 위한 간단한 텍스트 편집기로 돌아갈까 생각했습니다!!!
Intellij Idea를 만난 것은 운이 좋았기 때문입니다(불행히도 도구를 조사할 시간이 없음).
Idea 방식에 익숙해지는 데 시간이 걸리기는 하지만, 특별한 기능을 제외하고 좌우의 작은 일에서 제공하는 생산성 향상은 제 생각에 가장 큰 자산입니다. 그것은 단순히 저에게 더 잘 작동하며 이제 Idea Ultimate의 구독료 고객입니다. 이것에 익숙해지면 다른 것으로 돌아가기가 매우 어렵습니다.
무료를 능가하는 것은 없으며 저는 오픈 소스의 열렬한 팬입니다. 하지만 결국에는 생계를 위해 이 일을 하고 있다면 더 빨리 일을 처리할 수 있다는 것이 매번 큰 보상이 됩니다.
IntelliJ가 Eclipse보다 훨씬 더 잘하는 한 가지가 있으며 그것은 주머니를 비워줍니다!
그러나 나는 그것을 사용하는 것을 선호하며 이클립스에 비해 큰 이점은 파일 시스템과 동기화하는 방식입니다. 큰 프로젝트와 느린 컴퓨터의 경우(예, 작업 환경에서는 PC가 집에 있는 것보다 훨씬 느립니다) Eclipse는 다음과 같이 보입니다. IntelliJ가 더 느린 초기 인덱싱 시간에도 불구하고 더 빠른 것처럼 보이는 곳에서 어려움을 겪습니다.
IntelliJ Community 에디션은 분명히 무료로 사용할 수 있지만 곧 CC 에디션에 포함되지 않은 추가 리팩토링과 멋진 기능을 원하게 될 것입니다.
제 생각에는 일반적으로 더 나은 사용자 경험을 제공하지만 비용의 가치가 있는지 여부는 각 개발자가 스스로 답해야 할 문제입니다.
그러나 NetBeans가 지속적으로 향상되고 있는 현재 최대 3개의 훌륭한 Java용 IDE가 있다는 사실에 감사해야 합니다.
이 스레드와 관련하여 내 타이밍이 약간 다를 수 있지만 응답해야 했습니다.
나는 열렬한 일식 팬입니다. 처음 등장했을 때부터 사용하고 있습니다. 그때(10년 이상 전) 친구가 플레이어가 될 것이라고 말했습니다. 그는 옳았다.
하지만! 저는 IntelliJ를 사용하기 시작했는데 변경 목록 을 보거나 사용하지 않았다면 프로그래밍 천국을 놓치고 있는 것입니다.
내 변경된 파일을 추적하는 기능(개발 브랜치 ala clearcase에서)은 Eclipse용 플러그인에서 찾고 있던 기능이었습니다. Intellij는 단일 커밋에 대한 모든 변경 사항을 매우 쉽게 추적합니다. 사용자 지정 목록으로 변경된 파일을 분리할 수 있습니다. 로컬에서 고유해야 하지만 저장소와 동기화하거나 비교할 때 계속 플래그가 지정되는 구성 파일에 사용합니다. 변경 목록 아래에 나열하면 모니터링할 수 있지만 깔끔하게 치워 실제 추가 사항에 집중할 수 있습니다. 나는 만들고 있다.
또한 버그 추적 소프트웨어와 통합되지 않은 SCCS에 대한 모든 변경 내용의 텍스트를 출력하는 커밋 로그 플러그인이 있습니다. 티켓의 작업 기록에 로그를 붙여넣으면 파일, 버전, 날짜/시간 및 분기/태그가 캡처됩니다. 정말 멋져요.
이 모든 것이 Eclipse의 플러그인(또는 향후 개선 사항)을 통해 지원될 수 있습니다. 그러나 Intellij는 이것을 쉽게 만듭니다.
마지막으로, 저는 이 제품에 대한 주류의 사랑에 대해 정말 흥분합니다. 키 입력은 고통스럽지만 재미있습니다.
댓글쓰기 이 글에 댓글 단 블로거 열고 닫기
인쇄