我同时使用了Delphi和Visual Studio(C#),并且我发现代码完成的工作方式有所不同,我觉得这很烦人。在Delphi中,如果您编辑现有代码以更改要使用的变量,则代码补全将基于光标之前的代码给出提示。例如,在myString中插入“ I”成为myIString会给出代码提示,以显示任何以“ myI”开头的可用变量。然后选择一个将用新的覆盖myString。
在Visual Studio中,执行相同操作会显示一个代码完成菜单,其中包含所有可用变量,并且未选择任何变量,因此您将看到列表的顶部。您必须完全删除正在使用的变量,然后重新启动,然后才能完成有意义的代码。
我似乎经常进行这样的更改(也许我应该只是把它放在第一位!),所以必须删除代码会有些烦人,并且在较长的行上可能会比较麻烦,其中包含很多部分
以下是一些截图(希望如此)说明了区别。我在努力如何最好地表达这一点!
Code completion in Visual Studio
我已经尝试过在Visual Studio中使用Intellisense设置,但似乎没有什么可以改变其行为。有什么办法可以在C#中复制它?
答案 0 :(得分:0)
我尝试过在Visual Studio中使用Intellisense设置, 似乎没有什么可以改变行为。在那儿 用C#复制它的任何方式?
目前,VS不支持此行为。当我们在现有变量中插入字符时,自动完成功能将无效。当我们在空白处键入一个字符时,它将生效。
我认为您的建议确实有意义。我认为如果有一个新选项来支持在插入字符时自动完成功能会更好,所以我建议您可以转到=>帮助=>种子反馈=>提供建议以将您的想法发布到此处。
如果您在此处共享链接,对此感兴趣的人将为您投票。
作为替代方式:
您可以转到工具=>选项=>文本编辑器=> C#=> Intellisense =>启用Show Completion list after a character is deleted
选项。
然后您可以插入'i',语句可以为myiSring1.GetType();
并删除String1
中的任何或所有字符,它将显示如下的智能提示:(例如:我删除了'r' 。)显然,这是您真正想要的,但是正如我上面提到的,VS本身目前不支持此行为,希望您可以使用“删除选项”节省一些时间。抱歉给您带来不便。
此外,您可以检查ReSharper是否可以满足您的需求,因为它是第三方工具,在经过xx天的试用期后似乎需要收费,因此我没有进一步的详细信息。
希望以上所有都对您有帮助:)