2011-03-09 67 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