Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 某些ReSharper密钥映射不起作用。如何通过重构添加参数?_Visual Studio_Visual Studio 2008_Resharper_Resharper 5.0 - Fatal编程技术网

Visual studio 某些ReSharper密钥映射不起作用。如何通过重构添加参数?

Visual studio 某些ReSharper密钥映射不起作用。如何通过重构添加参数?,visual-studio,visual-studio-2008,resharper,resharper-5.0,Visual Studio,Visual Studio 2008,Resharper,Resharper 5.0,我在VS2008SP1上运行了针对C的ReSharper 5.0。大多数组合键,如用于重命名标识符的(Ctrl+R,Ctrl+R),或用于转到文件的(Ctrl+Shift+T) 我想我会尝试一些其他重构,比如向方法添加一个参数,但是当我将光标放在私有方法上时,我得到了以下错误 组合键(Ctrl+R、Ctrl+p) 他一定要指挥 (ReSharper_IntroParameter)是 目前不可用 我可以轻松地用(Ctrl+R,Ctrl+R)重命名相同的方法。在这里失败的是我,还是雷夏普 当我将光标

我在VS2008SP1上运行了针对C的ReSharper 5.0。大多数组合键,如用于重命名标识符的(Ctrl+R,Ctrl+R),或用于转到文件的(Ctrl+Shift+T)

我想我会尝试一些其他重构,比如向方法添加一个参数,但是当我将光标放在私有方法上时,我得到了以下错误

组合键(Ctrl+R、Ctrl+p) 他一定要指挥 (ReSharper_IntroParameter)是 目前不可用

我可以轻松地用(Ctrl+R,Ctrl+R)重命名相同的方法。在这里失败的是我,还是雷夏普

当我将光标放在私有方法上时

引入参数重构仅在方法体中的标识符或值被覆盖时可用,您希望将该标识符或值设置为参数。听起来您需要更改签名重构,只要插入点位于方法名称上,就可以通过Ctrl+R Ctrl+S进行重构

您可以使用Ctrl+Shift+R查看上下文中的内容,这是
ReSharper | Refactor | Refactor this…

当我将光标放在私有方法上时

引入参数重构仅在方法体中的标识符或值被覆盖时可用,您希望将该标识符或值设置为参数。听起来您需要更改签名重构,只要插入点位于方法名称上,就可以通过Ctrl+R Ctrl+S进行重构


您可以使用Ctrl+Shift+R查看上下文中的(部分)内容,这是
ReSharper | Refactor | Refactor this…

的快捷方式,基于错误消息,键映射工作正常。Visual Studio正在查找并尝试执行该命令。命令本身报告自己不可用


这可能表示“IntroParameter”命令在您试图使用它的上下文中不可用。

根据错误消息,键映射工作正常。Visual Studio正在查找并尝试执行该命令。命令本身报告自己不可用


这可能表明“IntroParameter”命令在您试图使用它的上下文中根本不可用。

我认为您可能会将“引入参数”与“向方法添加参数”的概念混淆起来。我不相信ReSharper有一个简单地向方法添加参数的快捷方式。“引入参数”用于选择表达式并应用该快捷方式,因此ReSharper将根据该表达式向当前方法添加一个参数。这意味着您突出显示的任何表达式都将被移动到方法的调用方,并作为新参数的参数传递。

我认为您可能会混淆“引入参数”和“向方法添加参数”的概念。我不相信ReSharper有一个简单地向方法添加参数的快捷方式。“引入参数”用于选择表达式并应用该快捷方式,因此ReSharper将根据该表达式向当前方法添加一个参数。这意味着您突出显示的任何表达式都将移动到方法的调用方,并作为新参数的参数传递。

您可以在
Tools->Options->Environment->Keyboard
中编辑键映射。ReSharper快捷键都包含
ReSharper
。您可以在
工具->选项->环境->键盘-/code>中编辑键映射。ReSharper快捷方式都包含
ReSharper
。我在我的一个查询表达式上尝试了此操作,它似乎确实有效。我在我的一个查询表达式上尝试了此操作,它似乎确实有效。这非常有用,谢谢,但在方法体中不起作用。将一个局部提升到一个参数会很好,但显然不可用。这非常有用,谢谢,但在方法体中不起作用。将一个局部变量升级为一个参数会很好,但显然不可用。