可以将VS Intellisense配置为“按光标运行”吗?

时间:2019-05-15 09:27:08

标签: c# visual-studio delphi intellisense

我同时使用了Delphi和Visual Studio(C#),并且我发现代码完成的工作方式有所不同,我觉得这很烦人。在Delphi中,如果您编辑现有代码以更改要使用的变量,则代码补全将基于光标之前的代码给出提示。例如,在myString中插入“ I”成为myIString会给出代码提示,以显示任何以“ myI”开头的可用变量。然后选择一个将用新的覆盖myString。

在Visual Studio中,执行相同操作会显示一个代码完成菜单,其中包含所有可用变量,并且未选择任何变量,因此您将看到列表的顶部。您必须完全删除正在使用的变量,然后重新启动,然后才能完成有意义的代码。

我似乎经常进行这样的更改(也许我应该只是把它放在第一位!),所以必须删除代码会有些烦人,并且在较长的行上可能会比较麻烦,其中包含很多部分

以下是一些截图(希望如此)说明了区别。我在努力如何最好地表达这一点!

Code completion in Delphi

Code completion in Visual Studio

我已经尝试过在Visual Studio中使用Intellisense设置,但似乎没有什么可以改变其行为。有什么办法可以在C#中复制它?

1 个答案:

答案 0 :(得分:0)

  

我尝试过在Visual Studio中使用Intellisense设置,   似乎没有什么可以改变行为。在那儿   用C#复制它的任何方式?

目前,VS不支持此行为。当我们在现有变量中插入字符时,自动完成功能将无效。当我们在空白处键入一个字符时,它将生效。

enter image description here在新位置输入字符,智能感知就起作用了。

enter image description here插入字符,智能感知无效。

我认为您的建议确实有意义。我认为如果有一个新选项来支持在插入字符时自动完成功能会更好,所以我建议您可以转到=>帮助=>种子反馈=>提供建议以将您的想法发布到此处。

如果您在此处共享链接,对此感兴趣的人将为您投票。

  

作为替代方式:

您可以转到工具=>选项=>文本编辑器=> C#=> Intellisense =>启用Show Completion list after a character is deleted选项。

然后您可以插入'i',语句可以为myiSring1.GetType();并删除String1中的任何或所有字符,它将显示如下的智能提示:(例如:我删除了'r' 。)显然,这是您真正想要的,但是正如我上面提到的,VS本身目前不支持此行为,希望您可以使用“删除选项”节省一些时间。抱歉给您带来不便。

enter image description here

此外,您可以检查ReSharper是否可以满足您的需求,因为它是第三方工具,在经过xx天的试用期后似乎需要收费,因此我没有进一步的详细信息。

希望以上所有都对您有帮助:)