C# Visual Studio 2019 IntelliSense已更改(如何获取以前的行为?)
自从我切换到VS2019(从2017年开始),我很确定我获得了一次降级的IntelliSense体验。我在工具->选项下查找设置。。。但是没有发现任何有用的东西 问题是:假设我有一个具有属性键的变量kvp,我可以键入“Key.”,滚动到“Key”属性(如果尚未选中),然后键入“;”以完成该语句 但这已经不起作用了。相反,它现在忽略了我选择的内容,我得到了 钥匙 获取选定属性的唯一方法是显式单击enter键。键入第一个字符以选择所需选项时相同:按时;它只留下我已经键入的内容并添加;就在它后面,忽略我在弹出菜单中选择的内容 发生了什么事?我如何恢复正常的行为 我使用的是预览版,但我已经有了一些更新,而且没有改进,所以我猜这是出于设计或默认行为 这是我给佩里的一些密码。这只是一个例子,问题(或者我认为是问题)发生在任何对象变量上C# Visual Studio 2019 IntelliSense已更改(如何获取以前的行为?),c#,visual-studio,intellisense,C#,Visual Studio,Intellisense,自从我切换到VS2019(从2017年开始),我很确定我获得了一次降级的IntelliSense体验。我在工具->选项下查找设置。。。但是没有发现任何有用的东西 问题是:假设我有一个具有属性键的变量kvp,我可以键入“Key.”,滚动到“Key”属性(如果尚未选中),然后键入“;”以完成该语句 但这已经不起作用了。相反,它现在忽略了我选择的内容,我得到了 钥匙 获取选定属性的唯一方法是显式单击enter键。键入第一个字符以选择所需选项时相同:按时;它只留下我已经键入的内容并添加;就在它后面,忽略
private static void AddBlockNodes(TreeNode node, IDictionary<string, Block> blocks)
{
foreach (KeyValuePair<string, Block> kvp in blocks)
{
string name = kvp.Key;
Block block = kvp.Value;
TreeNode childNode = new TreeNode(name);
childNode.Tag = block;
node.Nodes.Add(childNode);
AddBlockNodes(childNode, block.Subblocks);
}
}
private static void AddBlockNodes(树节点、IDictionary块)
{
foreach(块中的KeyValuePair kvp)
{
字符串名称=kvp.Key;
块=kvp.值;
TreeNode childNode=新的TreeNode(名称);
Tag=block;
node.Nodes.Add(childNode);
AddBlockNodes(子节点、块、子块);
}
}
它只留下我已经键入的内容并添加;紧随其后
它忽略了我在弹出菜单中选择的内容。发生了什么以及如何发生的
我能恢复正常的行为吗
这是一个非常不正常的行为,我已经安装了VisualStudio16.6.0 Preview 2.1,并在我这边测试了你的代码,效果很好
键入变量kvp.
,然后选择属性键
,然后按预期键入。在此过程中,我没有遇到缺少属性键的情况
您可以尝试以下步骤来解决问题:
建议
1)使用工具重置所有设置
-->导入和导出设置
-->重置所有设置
2)关闭VS实例,输入项目路径并删除.VS
隐藏文件夹,该文件夹存储一些Intellisense设置,bin
,obj
文件夹,然后重新启动项目。我想知道您是否将旧项目迁移到VS2019预览版本,我认为您应该完成这一步
3)禁用任何第三方扩展,如果您的扩展-->管理扩展导致此行为,请禁用它们
4)删除C:\Users\xxx\AppData\Local\Microsoft\VisualStudio\16.0\u xxx(16.0是VS2019)\ComponentModelCache下的所有组件缓存
5)尝试在VS2019预览版中创建一个新项目,并测试此问题是否在新平台中持续存在,如果有效,我认为这是项目本身的问题。或者,您可以尝试将项目迁移到新项目中
希望它能帮助您。CS world中有一条通用规则-尝试卸载和安装:)您能与我们共享一个最小的可复制样本吗?@Perry我在问题中描述了这个问题。你还想看什么?顺便说一句,我使用的是16.6.0版本预览版2.1(社区预览版)。@Perry我添加了代码,但我不知道这会使它变得更清晰。块是自定义类,但不需要它来复制行为。请检查以下答案:。这与VS 2017中的问题有关,但您可能能够适应VS 2019,并查看它是否有帮助(缺少重新安装)。我的项目已迁移(从2017年开始),但我创建了一个新项目,它也有相同的问题。建议1和建议2没有区别。然后我禁用了所有扩展,包括“VisualStudioIntelliCode”。我发现在此之后,我再也没有任何形式的自动完成。我重新启用了这个“VisualStudioIntelliCode”扩展,恢复了IntelliSense,发现它的行为正常!还是有点不同。我不知道为什么我在某一点上完全失去了智能感知,但这里是我可以复制的。如果禁用扩展名“VisualStudioIntelliCode”(版本2.2.554.756)并重新启动VS,IntelliSense工作正常。如果我重新启用扩展并重新启动VS,它会再次崩溃。我从未有意识地安装过这个扩展,我认为它是预安装的。但是,我可能又做了,然后忘记了。