首页 > 解决方案 > VS Intellisense 可以配置为运行“to-cursor”吗?

问题描述

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

在 Visual Studio 中,做同样的事情会打开一个代码完成菜单,其中包含所有可用变量,并且没有选择任何变量,因此您可以看到列表的顶部。在获得有意义的代码完成之前,您必须完全删除正在使用的变量并重新开始。

我似乎经常进行这样的更改(也许我应该首先把它做好!)所以删除代码有点烦人,并且在有很多部分的较长行上可能会更棘手。

这里有一些截图(希望)说明了差异。我正在努力如何最好地表达这个!

Delphi 中的代码完成

Visual Studio 中的代码完成

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

标签: c#visual-studiodelphiintellisense

解决方案


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

目前,VS 不支持这种行为。当我们将字符插入现有变量时,自动完成将不起作用。当我们在空白处输入字符时,它就会生效。

在此处输入图像描述在新的地方输入字符,智能感知工作。

在此处输入图像描述插入字符,智能感知不起作用。

在我看来,你的建议真的很有意义。我认为如果我们有一个新的选项来支持插入字符时的自​​动完成可能会更好,所以我建议你可以去=>帮助=>种子反馈=>提供一个建议来在那里发布你的想法。

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

作为替代方式:

你可以去 Tools=>Options=>Text Editor=>C#=>Intellisense=>EnableShow Completion list after a character is deleted选项。

然后你可以插入'i',语句可以是myiSring1.GetType();并删除其中的任何或所有字符String1,它会显示如下所示的智能感知:(例如:我删除'r'。)显然,这是你真正想要的,但作为我上面提到过,VS 本身暂时不支持这种行为,希望你可以使用“删除选项”节省一些时间。带来不便敬请谅解。

在此处输入图像描述

另外,您可以检查一下ReSharper是否可以满足您的需求,因为它是第三方工具,似乎在 xx 天试用后收费,我没有更多详细信息。

希望以上所有帮助:)


推荐阅读