C# 插入Intellisense在VS 2017中的简化Using语句

C# 插入Intellisense在VS 2017中的简化Using语句,c#,visual-studio,namespaces,intellisense,using,C#,Visual Studio,Namespaces,Intellisense,Using,VS2017中的AutoComplete函数建议我使用语句完全限定。 我有两个项目,结构如下(简化): Company.Contracts IMyExample.cs Company.Core MyExample.cs 现在,当我在类中使用IMyExample时,VS2017建议我使用如下语句 using Company.Contracts 但我认为VS2017曾建议我: using Contracts 这就足够了,因为项目共享相同的主命名空间 如何配置VS2017,使其更喜欢简化

VS2017中的AutoComplete函数建议我使用语句完全限定。 我有两个项目,结构如下(简化):

Company.Contracts
  IMyExample.cs
Company.Core
  MyExample.cs
现在,当我在类中使用
IMyExample
时,VS2017建议我使用如下语句

using Company.Contracts
但我认为VS2017曾建议我:

using Contracts
这就足够了,因为项目共享相同的主命名空间

如何配置VS2017,使其更喜欢简化名称空间而不是完全限定的名称空间?事实上,这是相反的

提示:我以前使用过VS2019,但后来又改用了VS2017,因为测试许可证结束了,我很确定,我不必更正我的使用声明。也许在VS2019中这是可能的

也许在VS2019中这是可能的

很抱歉,答案可能是否定的,我在VS2019版本16.3.4中对其进行了测试,并确认目前不支持此行为

在您的情况下,也可以使用类似于
Contracts.ClassName
的格式,而不是使用

出于这种情况下更倾向于使用完全限定命名空间的原因,假设您当前的项目
公司.Core
引用了一个程序集,其根命名空间也命名为
Contracts
,现在如果VS按照您的建议执行,使用合同添加
当您使用公司合同项目中的函数时,intellisense会对此感到困惑。见:

在您建议的那种情况下,VS intellisense可能会对使用Contracts的
的真正含义感到困惑,另一个程序集的根命名空间是
Contracts
Company.Contracts
project?所以我认为这可能是它建议使用完全限定名称空间的一个原因

如果你确实需要一个选项来支持这个行为,我建议你可以发送一个特性请求。如果这个请求得到足够的选票,团队会考虑它。 希望我的回答能有所帮助:)