2009-04-30 4 views
6

저는 이클립스가 표준 인 새 회사에서 일하기 시작한 이맥스 사용자입니다. 나는 Eclipse를 시도했지만, JDEE로 실험하고 싶다. (나는 오래 동안 Java로 돌아온다.) 지금까지의 주요 걸림돌은 들여 쓰기를 얻는 것입니다. 이것을 쉽게 할 수있는 방법이 있습니까, 아니면 이맥스 들여 쓰기의 견해와 함정을 깊이 파고들 필요가 있습니까?이맥스에서 이클립스 들여 쓰기

편집 :이 질문에 혼란스러워서 : 이클립스를 이맥스를 모방하게하고 싶지 않아, 이맥스가 이클립스를 모방하고 싶다. 필자는 Eclipse 사용자가 기대하는 들여 쓰기를하지 않고 코드를 수정하기 위해 이맥스를 사용할 수 있기를 원합니다.

답변

5

당신은 자바 모드에서 들여 쓰기를 지정해야합니다 당신은 또한 여기에 자바 코드의 형식을 수정할 수 있습니다. 보기 here, herehere을보십시오.

+0

그래, 이클립스 들여 쓰기 (또는 최소한 그들이 사용하고있는 스타일)의 특성 때문에 피하려고했던 견과류와 볼트의 일종이다. 누군가가 이미 이클립스 스타일을 프로그래밍했기를 바랬다. 단지 refls tho를 가져 주셔서 감사합니다. – user98166

+1

글쎄, 만약 당신이 그것을 끝내면 - 당신은 alist를 게시 할 수 있습니까? 여기 있을지도 몰라? – Arkadiy

+0

http://stackoverflow.com/questions/5556558/getting-consistent-indentation-in-eclipse-and-emacs를 참조하십시오. Arkadiy가 말했듯이 누군가가 손톱을 감은다면 게시하십시오! –

1

솔직히 말해서, 이클립스의 들여 쓰기가 이맥스와 일치하도록하는 것이 무슨 뜻인지 정확히 모르겠다. 하지만 여기에서 들여 쓰기를 수정할 수 있습니다. Windows->Preferences-General->Editors

'텍스트 편집기'옵션을 클릭하면 탭 너비 속성이 표시됩니다. '계획'에서 Windows->Preferences->General->Keys

는 이맥스에 대한 옵션이있다 :

또 하나의 작은 노트, 이클립스에 내장 된 이맥스 스타일의 키 바인딩이 있습니다.

참고 : Windows->Preferences->Java->Code Style->Formatter

8

이클립스 (와 IntelliJ)와 이맥스 기본 자바 포맷 간의 주요 차이점은 이맥스가 함수 인수를 줄이는 것이 이전 인수를 가진 새로운 줄로 계속된다는 것입니다. 이맥스을 수행합니다

BigLongJavaStuff.doFoobarToQuux("argument 1", 
           "argument 2"); 

이클립스을 수행합니다

BigLongJavaStuff.doFoobarToQuux("argument 1", 
     "argument 2"); 

당신에 추가 다음 ~/이맥스 파일을 만들 것입니다 이맥스 자바 모드가 동일한 작업을 수행 :

;; eclipse-java-style is the same as the "java" style (copied from 
;; cc-styles.el) with the addition of (arglist-cont-nonempty . ++) to 
;; c-offsets-alist to make it more like default Eclipse formatting -- function 
;; arguments starting on a new line are indented by 8 characters 
;; (++ = 2 x normal offset) rather than lined up with the arguments on the 
;; previous line 
(defconst eclipse-java-style 
    '((c-basic-offset . 4) 
    (c-comment-only-line-offset . (0 . 0)) 
    ;; the following preserves Javadoc starter lines 
    (c-offsets-alist . ((inline-open . 0) 
         (topmost-intro-cont . +) 
         (statement-block-intro . +) 
         (knr-argdecl-intro  . 5) 
         (substatement-open  . +) 
         (substatement-label . +) 
         (label     . +) 
         (statement-case-open . +) 
         (statement-cont  . +) 
         (arglist-intro . c-lineup-arglist-intro-after-paren) 
         (arglist-close . c-lineup-arglist) 
         (access-label . 0) 
         (inher-cont  . c-lineup-java-inher) 
         (func-decl-cont . c-lineup-java-throws) 
         (arglist-cont-nonempty . ++) 
         ))) 
    "Eclipse Java Programming Style") 
(c-add-style "ECLIPSE" eclipse-java-style) 
(customize-set-variable 'c-default-style (quote ((java-mode . "eclipse") (awk-mode . "awk") (other . "gnu")))) 
+0

관련 게시물 http://stackoverflow.com/questions/5556558/getting-consistent-indentation-in-eclipse-and-emacs는 탭과 스페이스의 첫 번째 90 %를 해결하는 가장 기본적인 문제와 관련이 있습니다. 위에 게시 된 답변은 제가 말할 수있는 것에서부터 10 %의 remaninig를 해결하려고 시도합니다. –

+0

이게 도움이 되었어요! 내가 원했던 동작을 얻으려면 조금 변경해야했습니다. 메소드 호출 이후에 줄에서 인수 목록을 시작할 수 있기를 원했습니다. (arglist-cont-nonempty. +) 다음에 (arglist-intro. +) (arglist-cont. +)를 추가하십시오. (나는 또한 + +를 ++로 바 꾸었습니다) –