[英]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創建新類時,只需檢查相應的訪問修飾符。
好吧,我認為沒有任何很酷的答案,那么“黑客”呢?
${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歲的線程,但對我來說它仍然相關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.