2009-04-30 14 views
6

私は、eclipseが標準である新しい会社の仕事を始めたばかりのemacsユーザーです。私はEclipseを試しましたが、私はJDEEを試してみたい(私は長い間中断してJavaに戻ってきた)。これまでの大きな障害は、インデントを一致させることです。これを行う簡単な方法はありますか?あるいは、私はemacsインデントの根底に掘り下げる必要がありますか?EmacsのEclipseインデント

EDIT:この質問で混乱して申し訳ありません。私はEclipseにemacsを模倣したくありません。私はemacsにEclipseを模倣したいと思います。私は、Eclipseユーザーが期待している字下げを取り締まることなく、emacsを使ってコードを修正できるようにしたいと考えています。

答えて

5

は、Javaモードでインデントをカスタマイズする必要があります。見てくださいhereherehere

+0

うん、このEclipseの字下げ(または少なくともそれが使用しているスタイル)の特徴のために避けようとしていたものです。私は誰かがすでに私がちょうどドロップできるEclipseスタイルをプログラムしていたことを期待していました。 – user98166

+1

あなたがこれまでにやったことがあれば - あなたは連想メートを公開できますか?ここでもできる? – Arkadiy

+0

良い、簡単なスタートについてはhttp://stackoverflow.com/questions/5556558/getting-consistent-indentation-in-eclipse-and-emacsを参照してください。 Arkadiyが言ったように、誰かがこれを釘付けすれば、投稿してください! –

1

私は正直言うでしょう:EclipseのインデントをEmacsと一致させることで、あなたが何を意味するのか正確にはわかりません。ただし、ここでインデントを変更することができます: Windows->Preferences-General->Editors

[テキストエディタ]オプションをクリックすると、タブ幅プロパティが表示されます。 「方式」の下でWindows->Preferences->General->Keys

は、Emacsのためのオプションがあります:

もう一つの小さなノートでは、Eclipseはそれに組み込まれたEmacsのスタイルのキーバインディングを持っています。

注:あなたもここであなたのJavaコードのフォーマットを変更することができます。 Windows->Preferences->Java->Code Style->Formatter

8

Eclipse(とIntelliJ)とEmacsのデフォルトのJava書式設定の主な違いは、Emacsが関数引数を前の引数で改行したことです。 Emacsはありません:

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

とEclipseを行います

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

あなたに追加された次の〜/の.emacsファイルが作成されますEmacsのjavaのモードは、同じ操作を行います。

;; 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。+)を追加します。 (私も++を+に変更しました) –

関連する問題