在 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
的真正含义感到困惑,另一个程序集的根命名空间是 Contracts
或 Company.Contracts
项目?所以我认为这可能是它建议完全限定命名空间的一个可能原因。
如果您确实需要一个支持此行为的选项,我建议您可以发送功能请求 here。如果此请求获得足够的选票,团队会考虑它。
希望我的回答对您有所帮助:)
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
的真正含义感到困惑,另一个程序集的根命名空间是 Contracts
或 Company.Contracts
项目?所以我认为这可能是它建议完全限定命名空间的一个可能原因。
如果您确实需要一个支持此行为的选项,我建议您可以发送功能请求 here。如果此请求获得足够的选票,团队会考虑它。
希望我的回答对您有所帮助:)