在 VS 2017 中通过 Intellisense 插入简化的 Using 语句

Insert simplified Using Statement by Intellisense in VS 2017

VS2017 中的自动完成功能建议我完全限定 using 语句。 我有两个具有以下(简化)结构的项目:

Company.Contracts
  IMyExample.cs
Company.Core
  MyExample.cs

现在,当我在 Class MyExample 中使用 IMyExample 时,VS2017 建议我使用

这样的语句
using Company.Contracts

但我认为有一段时间 VS2017 建议我:

using Contracts

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

我如何配置 VS2017 使其更喜欢简化而不是完全限定的命名空间?事实上,这与 StyleCop Rule SA1135.

相反

提示:我之前使用的是 VS2019,但由于测试许可证已结束而切换回 VS2017,而且我很确定,我不必更正我的 using 语句。也许在 VS2019 中这是可能的?

Maybe in VS2019 this is possible?

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

在您的情况下,除了使用 full qualified names,您还可以使用 Contracts.ClassName.

这样的格式

并且由于在这种情况下更喜欢完全限定命名空间的原因,假设您当前的项目 Company.Core 引用了一个程序集,其根命名空间也被命名为 Contracts,现在如果 VS 执行您的操作建议,在使用 Company.Contracts 项目中的函数时添加 using Contracts ,智能感知会对此感到困惑。参见:

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

如果您确实需要一个支持此行为的选项,我建议您可以发送功能请求 here。如果此请求获得足够的选票,团队会考虑它。

希望我的回答对您有所帮助:)