2015-05-07 59 views
3

任何人都知道,有沒有什麼辦法可以組織static importEclipse? 像轉變 + CTRL + Ø組織進口,我們有static importEclipse組織導入靜態

import static java.lang.Math.PI; // ==> any key board shortcut? 
import java.math.BigDecimal; 

編輯任何鍵盤快捷鍵

我的情況:

在我的計劃之一,我需要用Math.PI初始化30個字段,我已經初始化爲:

private double var1=PI; 
private double var2=PI; 
private double var3=PI; 
// other lines skipped 
private double var30=PI; 

要做到這一點,我用Notepad++在一次使用 + Alt鍵 + 導航箭頭,在eclipse然後插入代碼編輯多行。
現在,我想爲java.lang.Math.PI字段(即import static java.lang.Math.PI;)使用鍵盤快捷方式執行static import,該快捷鍵將在Eclipse中使用單擊鍵修復這30個字段的導入。

Content Assist選項我必須選擇Add static import for Math.PI 30倍,在我的情況。

+1

「組織導入」命令包括靜態導入的組織。你想達到哪個結果?按下此快捷鍵後,您想要哪些代碼? –

+0

@TagirValeev請看我編輯的編輯 – Sridhar

+0

。刪除我的答案是不恰當的。 –

回答

0

如果你去Window > Preferences > Java > Editor > Content Assist > Favorites它可以讓你定義的東西,如org.junit.Assert

+0

我需要直接鍵盤快捷方式,'內容輔助'我必須爲所有地方選擇'爲Math.PI添加靜態導入「。 – Sridhar

+0

如果你將它添加到你的收藏夾中,你可以開始輸入你想要使用的類的名稱,並點擊'ctrl + space',eclipse將提供建議列表。 –

+0

正確。但我的情況超出了內容協助。我無法輸入30次,每次都按Ctrl +空格鍵。因爲爲了節省時間,我使用Notepad ++爲所有30行輸入「PI」。 'Shift + Alt +導航箭頭',然後插入代碼到eclipse。所以只有我要求任何鍵盤快捷鍵。 – Sridhar

0

你有沒有嘗試過該選項的選擇:基於Java>編輯器 - >保存操作 - >組織進口。這可能會有所幫助。

this is a screen capture

+0

同樣,它僅在內容幫助中列出。但是沒有直接導入PI的捷徑。 – Sridhar

0

如果你有幾個常數工具-A-非抽象接口伎倆可能會做。

public interface MathEnviron { 
    static final double PI = Math.PI; 
    ... 
    /** @since: 1.8 */ 
    default double sin (double x) { 
     return Math.sin(x); 
    } 
} 

public class SomeClass implements MathEnviron { 

    ... dietAfter(sin(apple*PI)); 
} 
0

我才發現,原來按Ctrl + Shift + M(來源>添加導入)不僅可以用來添加缺少的進口。它也可以幫助靜態導入。通過對合格成員的引用執行(讀取Class.member),重構將爲定義的類添加靜態導入,並刪除類表達式。

例如,如果您有currentTimeMillis()

import java.lang.System; 
class Example { 
void someMethod() { 
System.currentTimeMillis(); 
} 
} 

將光標並按按Ctrl + Shift + M。這將代碼轉換到

import static java.lang.System.currentTimeMillis; 
class Example { 
void someMethod() { 
currentTimeMillis(); 
} 
} 

此功能可能已在這裏一段時間,並記錄在案,並在新&值得注意的是公佈。我只是在前幾天才發現它,發現它極大地改善了靜態導入的工作。也許你會發現它有用太

another great example with good explanation provided