eclipse中java代碼格式化設定方法

來源:互聯網
上載者:User
由於學Java之前習慣了C#的代碼格式化樣式,即如下 圖1的第一種代碼格式,而看第二種代碼格式時感覺代碼很亂,總找不到“{}”對稱的感覺。eclipse自動格式化代碼的捷徑是 Ctrl+Shift+F ,下面將通過設定eclipse來達到第一種代碼樣式。
設定步驟如下: 第一步:啟動eclipse  → Project   →   Properties   → Java Code Style   → Formatter  → 按 圖2的紅色字型的步驟操作。       
                             圖2
第二步:按照 圖3的紅色字型步驟操作。

                 圖3 第三步:第二步後會彈出 圖4視窗。此時選擇Braces選項卡,然後按照 圖4的紅色字型步驟操作。

      若要設定class,method中的第一個"{",在類名,方法名的同一行,要以在:
      windows->prrferences->java->code style->formatter->edit->braces中,全部設定為sameline.若要在新  一行顯示,則設定為next line.

注意:Array initializer可以保持為預設值不變“Sameline”,要不然圖中紅色3的位置處會換行,就不好看了。

第四步:開啟eclipse   → Window   → Preferences   → java   → CodeStyle   → Formatter   → 按 圖5的紅色字型步驟操作。

                              圖5







另外: 自訂eclipse代碼規範模板


(1)
如何自訂eclipse中的代碼模板:
Eclipse有內建的代碼格式化程式和模板,也可以建立自己的模板:
1.在功能表列中選中『windows』-〉 『Preferences』。
2.在出現的對話方塊的左邊樹中展開『Java』下的『code style』。
3.其中有兩項,一項是『Formatter』,另一項是『code template』。
  『Formatter』,主要是設定代碼的格式.使用的命令是:ctrl+shift+f. 
  如:換行,縮排等,
  『code template』中設定的是自動產生的程式碼的格式,使用的命令是:alt+shinf+j.
  如:
  類檔案開頭的注釋;
  setter和getter方法,構造方法等相關注釋。

4.
設定『Formatter』:Eclipse內建的模板不能匯出,需要建立一個。輸入模板名稱,並選擇初始化設定的檔案。這部分主要是設定格式化後代碼的格式,包括縮排、空行、花括弧等等內容。具體的東西就按照自己的愛好,自己慢慢確定吧。然後點擊匯出,存成.xml檔案。
5.
設定『code template』沒有什麼,主要是設定自動產生的一些方法等的注釋格式,如getter/setter方法的注釋。裡面可以包括一些變數,可以產生時自動填滿相應內容,如姓名,參數名稱等。設定完畢後,點擊全部匯出,存成.xml檔案。
6.
用的時候當然是分別點擊匯入按鈕,選擇正確的設定檔。選中功能表列中『原始碼』下的格式化,或者使用捷徑ctrl+shift+f對代碼進行格式化。OK!
(2)
模板相關命令說明:
2.1
ctrl+ shift + f
使用Eclipse建立模板並格式化代碼 -->但不會自動添加註釋。
2.2
添加類或其它元素field/method注釋:
在目標行,或目標方法中,按alt+shinf+j即可。(無須選擇行或方法體)
(前提:在代碼模板中,選擇最後一行:automatically add comments for new methods and types)
否則,在產生類或產生getter,setter時,須在相應的導航面板中,選擇產生注釋.
2.3
      ctrl+/ :添加//注釋
ctrl+shinf+/ :添加block注釋
ctrl+shinf+\ :去掉block注釋
(3)
運用模板產生執行個體:
/**
 * PROJECT NAME: Testselenium
 * PACKAGE NAME: com.formatter
 * FILE    NAME: Person.java
 * CREATED TIME: 2010-2-9
 *    COPYRIGHT: Copyright(c) 2009~2010 MMM All Rights Reserved.
 */
package com.formatter;
/**
 * Class Descripton goes here.
 *
 * @version [MMM.Core.MM-V200M001, 2009-11-09]
 * @author  9MMM31
 */
public class Person
{
    /** Comment for <code>number</code> */
    public static int number = 1;
    /** Comment for <code>name</code> */
    public String name;
    /** Comment for <code>age</code> */
    protected String age;
    /** Comment for <code>password</code> */
    private String password;
    /**
     * constructor
     * @param number
     */
    public Person(int number)
    {
        // TODO Auto-generated constructor stub
    }
    /**
     * @return the name.
     */
    public String getName()
    {
        return name;
    }
    /**
     * @param name The name to set.
     */
    public void setName(String name)
    {
        if (name != null)
        {
            this.name = name;
        }
        else
        {
            this.name = "";
        }
    }
    /**
     * @return the age.
     */
    public String getAge()
    {
        return age;
    }
    /**
     * @param age The age to set.
     */
    public void setAge(String age)
    {
        this.age = age;
    }
    /**
     * @return the password.
     */
    public String getPassword()
    {
        return password;
    }
    /**
     * @param password The password to set.
     */
    public void setPassword(String password)
    {
        this.password = password;
    }
}
相關代碼規範說明:
類的聲明次序:
1.先聲明變數static->public->protected->private.
2.聲明構造方法.
3.聲明方法。
4.若要設定class,method中的第一個"{",在類名,方法名的同一行,要以在:
  windows->prrferences->java->code style->formatter->edit->braces中,全部設定為sameline.若要在新  一行顯示,則設定為next line.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.