簡體   English   中英

在eclipse中內聯所有靜態導入

[英]Inline all static imports in eclipse

我正在清理一些代碼並發生在com.example.StringHelper ,它包含6或7個public static方法(例如concatStrings(String...) ,但沒有成員字段。有許多類concatStrings(String...)這個類只是為了它們可以調用concatStrings(str1, str2)而不用像這樣的類前綴: StringHelper.concatStrings(str1, str2)

我不希望他們因為這個原因而繼承類,所以我打破了一堆。 在刪除extends StringHelper之后,我將以下靜態導入粘貼到任何extends StringHelper它的文件的頂部:

import static com.example.StringHelper.*;

Eclipse將其簡化為僅針對所使用方法的特定導入。

問題 :有沒有一種簡單的方法讓Eclipse“內聯”這些靜態導入? 我是否可以通過StringHelper.刪除實際的靜態導入和前綴StringHelper. 代替?

注意這是一個簡化的人為例子,所以請不要抱怨為什么我們首先需要一個StringHelper。

這樣做:

  • 突出顯示concatStrings()的一次調用。 確保在突出顯示中包括括號。 選擇Refactor / Extract Method,將其命名為foo。 一定要檢查“用方法替換47個附加的語句”
  • 在新的foo方法中,添加“StringHelper”。 調用concatStrings的前綴
  • 刪除導入靜態
  • Do Refactor / Inline可以擺脫foo並將靜態調用放回到它們所屬的位置,以及它們閃亮的新前綴。

it can help in a manual way. 不知道是否有自動方式,但我它可以以手動方式提供幫助。 刪除導入,然后單擊每行並顯示錯誤。 按ctrl-1進行“快速修復”,然后選擇前綴包名稱的快速修復,而不是添加導入。

Preferences -> Java -> Code Style -> Organize Imports

在那里,您可以配置將它們分組所需的導入數量。

首選項> Java>代碼樣式>組織導入:

“。*所需的靜態導入數”將此值設置為1。

暫無
暫無

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

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