VS Intellisense可以配置成运行"to-cursor"吗?
Can VS Intellisense be configured to run "to-cursor"?
我同时使用 Delphi 和 Visual Studio (C#),并且我注意到代码完成工作方式的不同,我觉得这很烦人。在 Delphi 中,如果您编辑现有代码以更改正在使用的变量,代码补全将根据光标前的代码给出提示。例如,将 "I" 插入 myString 以成为 myIString 会给出代码提示以显示任何以 "myI" 开头的可用变量。选择一个将用新的覆盖 myString。
在 Visual Studio 中做同样的事情会弹出一个代码完成菜单,其中包含所有可用变量,并且 none 被选中,因此您会看到列表的顶部。在获得有意义的代码完成之前,您必须完全删除正在使用的变量并重新开始。
我似乎经常进行这样的更改(也许我应该一开始就把它做对!)所以删除代码有点烦人,而且在包含很多部分的较长行上可能会更棘手给他们。
这里有一些屏幕截图(希望)可以说明差异。我正在努力如何最好地表达这个!
Code completion in Delphi
Code completion in Visual Studio
我试过 Visual Studio 中的 Intellisense 设置,似乎没有任何东西可以改变行为。有什么方法可以在 C# 中复制它吗?
I've tried playing with the Intellisense settings in Visual Studio and
there's nothing there which seems to change the behaviour. Is there
any way of replicating it in C#?
目前,VS 不支持此行为。当我们将字符插入现有变量时,自动完成将不起作用。当我们在空白处键入一个字符时,它就会生效。
在新的地方输入字符,智能感知有效。
插入字符,智能提示无效
我觉得你的建议很有意义。我认为如果我们在插入字符时有一个支持 auto-completion 的新选项会更好,所以我建议您可以 Go=>Help=>Seed Feedback=>Provide a suggestion to post your idea那里。
如果你在这里分享link,我们感兴趣的人会投票给你。
As alternative ways:
您可以转到工具=>选项=>文本编辑器=>C#=>智能感知=>启用 Show Completion list after a character is deleted
选项。
然后你可以插入'i',语句可以是myiSring1.GetType();
并删除String1
中的任何或所有字符,它会显示如下智能提示:(例如:I delete 'r'.) 显然,这是你真正想要的,但正如我上面提到的,VS 本身暂时不支持这种行为,希望你可以使用 'delete option' 节省一些时间。抱歉给您带来不便。
另外,你可以看看ReSharper是否能满足你的需求,因为它是一个third-party工具,似乎在xx-days试用后收费,我没有进一步的细节。
希望以上对你有所帮助:)
我同时使用 Delphi 和 Visual Studio (C#),并且我注意到代码完成工作方式的不同,我觉得这很烦人。在 Delphi 中,如果您编辑现有代码以更改正在使用的变量,代码补全将根据光标前的代码给出提示。例如,将 "I" 插入 myString 以成为 myIString 会给出代码提示以显示任何以 "myI" 开头的可用变量。选择一个将用新的覆盖 myString。
在 Visual Studio 中做同样的事情会弹出一个代码完成菜单,其中包含所有可用变量,并且 none 被选中,因此您会看到列表的顶部。在获得有意义的代码完成之前,您必须完全删除正在使用的变量并重新开始。
我似乎经常进行这样的更改(也许我应该一开始就把它做对!)所以删除代码有点烦人,而且在包含很多部分的较长行上可能会更棘手给他们。
这里有一些屏幕截图(希望)可以说明差异。我正在努力如何最好地表达这个!
Code completion in Delphi
Code completion in Visual Studio
我试过 Visual Studio 中的 Intellisense 设置,似乎没有任何东西可以改变行为。有什么方法可以在 C# 中复制它吗?
I've tried playing with the Intellisense settings in Visual Studio and there's nothing there which seems to change the behaviour. Is there any way of replicating it in C#?
目前,VS 不支持此行为。当我们将字符插入现有变量时,自动完成将不起作用。当我们在空白处键入一个字符时,它就会生效。
我觉得你的建议很有意义。我认为如果我们在插入字符时有一个支持 auto-completion 的新选项会更好,所以我建议您可以 Go=>Help=>Seed Feedback=>Provide a suggestion to post your idea那里。
如果你在这里分享link,我们感兴趣的人会投票给你。
As alternative ways:
您可以转到工具=>选项=>文本编辑器=>C#=>智能感知=>启用 Show Completion list after a character is deleted
选项。
然后你可以插入'i',语句可以是myiSring1.GetType();
并删除String1
中的任何或所有字符,它会显示如下智能提示:(例如:I delete 'r'.) 显然,这是你真正想要的,但正如我上面提到的,VS 本身暂时不支持这种行为,希望你可以使用 'delete option' 节省一些时间。抱歉给您带来不便。
另外,你可以看看ReSharper是否能满足你的需求,因为它是一个third-party工具,似乎在xx-days试用后收费,我没有进一步的细节。
希望以上对你有所帮助:)