簡體   English   中英

在Eclipse中,如何更改類/類型模板中的默認修飾符?

[英]In Eclipse, how do I change the default modifiers in the class/type template?

Eclipse的新類型的默認模板(Window> Preferences> Code Style> Code Templates> New Java Files)如下所示:

${filecomment}
${package_declaration}

${typecomment}
${type_declaration}

創建一個新類,它看起來像這樣:

package pkg;

import blah.blah;

public class FileName {
    // Class is accessible to everyone, and can be inherited 
}

現在,我熱切地認為訪問應該盡可能地限制,除非明確允許,否則應該禁止繼承,所以我想更改${type_declaration}以將所有類聲明為final而不是public

package pkg;

import blah.blah;

final class FileName {
    // Class is only accessible in package, and can't be inherited
}

說起來容易做起來難。 我發現谷歌搜索的唯一問題是關於Eclipse郵件列表2004年問題,問題未得到答復。

那么,簡而言之: 如何在Eclipse中更改默認的類/類型修飾符?

如果重要的話,我正在使用Eclipse Galileo(3.5)。

看起來不可能。 ${type_declaration}是內部的東西。

你可以做的是每次點擊“New Java Class”-Dialog中的最后一個復選框。 但那不是你想要的。

使用New Class Wizard創建新類時,只需檢查相應的訪問修飾符。

新的Java類向導

好吧,我認為沒有任何很酷的答案,那么“黑客”呢?

${filecomment}
${package_declaration}

${typecomment}
import invalid;/* ${type_declaration} */

final class ${type_name} { }

如果現在按Control + Shift + O組織導入,則舊類型聲明將消失。 您還可以添加組織導入以保存操作以自動執行。

我知道這很糟糕,但它可以滿足您的需求。

這是我的解決方法:

編輯模板:

${filecomment}
${package_declaration}

${typecomment}   
final class ${type_name} {

    /* ${type_declaration} //delete */

    /** 
     * @see {@link Object#toString()}
     * @return String representation of this instance. 
     */
    public String toString() {
        return "some impl";
    }

}

注釋掉$ {type_declaration}因為它是必需的。 您有刪除評論,但已達到要求。 對不起,如果這是一個2歲的線程,但對我來說它仍然相關。

也許這對你有幫助嗎?

  eclipse\plugins\org.eclipse.jdt.ui_*.jar\templates\

用於java代碼模板的Eclipse自定義變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM