2011-03-09 68 views
17

有沒有這樣的事情?作爲產品的一部分還是插件?我看不到找到它。Resharper重構刪除魔法字符串

我想從去:

public DataTable Fetch() { 
    return ExecuteDataTable(_ConnectionString, "pr_DetectAffectedOrderLines"); 
} 

到:

private const string SP_DETECT_AFFECTED_ORDER_LINES="pr_DetectAffectedOrderLines"; 

public DataTable Fetch() { 
    return ExecuteDataTable(_ConnectionString, SP_DETECT_AFFECTED_ORDER_LINES); 
} 

回答

30

ReSharper |重構此(Ctrl-Shift-R)|介紹領域,然後選擇介紹常量。

+2

確實Resharper有一個特性,我可以定義從魔術字符串創建常量的規則(例如駱駝駝峯的第一個字母),然後讓它只用一個按鍵創建常量,而不是每次都有一個對話框? – AngryHacker 2011-03-09 23:16:15

+1

+1 doh - 使用resharper爲2.5年,並沒有使用過這個組合(可恥的圖標)。 – 2011-03-09 23:16:44

+1

我希望它會找到解決方案(或子文件夾)中的字符串或數字的所有用法,並將它們替換爲新領域。 – 2012-10-18 20:12:07

2

如果你去燈泡菜單,你可以把它變成一個資源或成逐字字符串。

+0

的燈泡是不存在。可能是需要打開的設置。 – AngryHacker 2011-03-09 23:13:11

1

有一個重構的直接捷徑:Ctrl+R, Ctrl+F

有其中3:

menu screenshot

演示用 「引入變量」 爲例如:

demon as gif