Resharper 在不覆盖现有代码的情况下完成重竖琴

Resharper 在不覆盖现有代码的情况下完成重竖琴,resharper,Resharper,在Resharper中,当我返回编辑某些现有代码时。。例如,希望在此代码中插入字符串。格式: <td> <%= Html.Encode(item.Address) %> </td> 我将光标移动到'item'之前并键入'String.F',获得Resharper的intellisense完成列表,其中包括'Format'方法 但是,如果我按TAB键,它会将“项”替换为“.Format()” 有没有一种方法可以在不替换现有文本的情况下使用补全功能?

在Resharper中,当我返回编辑某些现有代码时。。例如,希望在此代码中插入字符串。格式:

<td>
    <%= Html.Encode(item.Address) %>
</td>

我将光标移动到'item'之前并键入'String.F',获得Resharper的intellisense完成列表,其中包括'Format'方法

但是,如果我按TAB键,它会将“项”替换为“.Format()”


有没有一种方法可以在不替换现有文本的情况下使用补全功能?

偶然发现使用Enter而不是TAB从补全列表中进行选择。这正是我想要的。它用String.Format(..)包围(在本例中)item.Address。

您也可以使用
String.Format
包围模板,但您可能需要将热键映射到它以便于访问。

您可以使用两种技术


第一个是使用Enter键,第二个是在开始键入的位置和下一位代码之间弹出一个空格,这将防止下一位代码被覆盖。

要使用的键盘命令称为:
Resharper\u ForceCompleteItem
。因此,如果您进入VisualStudio的工具>选项>环境>键盘,您可以在那里指定键盘快捷键。但不确定是否可以使用Tab。

现在有一个实际设置来禁用此(恼人的)行为

转到选项对话框(菜单->重新竖琴->选项)。 在此选项对话框中,转到环境->智能感知->完成字符

在这里,您可以将选项卡行为设置为插入而不是替换


这是对2010年答案的补充,适用于通过大众搜索引擎访问此帖子的所有人;)

Resharper很棒,它几乎可以将VisualStudio变成IntelliJ;-)你是对的,虽然我真的想到了更一般的大小写字符串。格式只是一个很好的例子。空间技术的缺点是,你必须点击后箭头。